o código vs não consegue encontrar o módulo '@ angular / core' ou qualquer outro módulo

87

meu projeto foi gerado com [Angular CLI] versão 1.2.6.

Posso compilar o projeto e ele funciona bem, mas sempre recebo um erro no código vs dizendo que não consigo encontrar o módulo '@ angular / core' não consigo encontrar o módulo '@ angular / router' não consigo encontrar o módulo .....

captura de tela captura de tela

Anexei o conteúdo do meu arquivo tsconfig.json, isso tem sido muito frustrante para mim, gastando 2 horas para descobrir o que está errado, eu também desinstalei e reinstalei o código vs que não funciona.

aqui está a minha especificação de ambiente:

@angular/cli: 1.2.6
node: 6.9.1
os: win32 x64
@angular/animations: 4.3.4
@angular/common: 4.3.4
@angular/compiler: 4.3.4
@angular/core: 4.3.4
@angular/forms: 4.3.4
@angular/http: 4.3.4
@angular/platform-browser: 4.3.4
@angular/platform-browser-dynamic: 4.3.4
@angular/router: 4.3.4
@angular/cli: 1.2.6
@angular/compiler-cli: 4.3.4
@angular/language-service: 4.3.4

os: Microsoft vs 10 enterprise

pasta raiz do projeto

.angular-cli.json
.editorconfig
.gitignore
.vscode
e2e
karma.conf.js
node_modules
package.json
protractor.conf.js
README.md
src
tsconfig.json
tslint.json

pasta node_module

-@angular
--animations
--cli
--common
--compiler
--compiler-cli
--core
---@angular
---bundles
---core.d.ts
---core.metadata.json
---package.json
---public_api.d.ts
---README.md
---src
---testing
---testing.d.ts
---testing.metadata.json
--forms
--http
--language-service
--platform-browser
--platform-browser-dynamic
--router
--tsc-wrapped
@ng-bootstrap
@ngtools
-@types
--jasmine
--jasminewd2
--node
--q
--selenium-webdriver

tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}
Arash
fonte
2
É porque você instalou o núcleo angular como global. O Intellisense não pode encontrá-lo em node_modules.
Prajwal
núcleo angular está em meu node_module
Arash
25
Você abriu um projeto vscodeantes de você npm install? Se yesvocê tentou reiniciar vscodedepois disso?
kuncevic.dev
6
reiniciei 100 vezes
Arash
Você pode tentar gerar um novo projeto usando cli npm installe depois ver se há a mesma coisa com aquele?
kuncevic.dev

Respostas:

115

Eu estava enfrentando esse problema apenas ao importar meus próprios componentes / serviços criados. Para aqueles de vocês como eu, para quem a solução aceita não funcionou, podem tentar isso:

Adicionar

"baseUrl": "src"

na tua tsconfig.json . O motivo é que o código visual IDE não consegue resolver o url de base, portanto, não consegue resolver o caminho para os componentes importados e fornece erro / aviso.

Enquanto o compilador angular toma srccomo baseurl por padrão, ele é capaz de compilar.

NOTA:

Você precisa reiniciar o VS Code IDE para que esta alteração entre em vigor.

EDITAR:

Conforme mencionado em um dos comentários, em alguns casos, alterar a versão do espaço de trabalho também pode funcionar. Mais detalhes aqui: https://github.com/Microsoft/vscode/issues/34681#issuecomment-331306869

tentando aprender
fonte
isso funcionou para mim ... mas agora estou recebendo outro erro Build: Class 'Subject <T>' incorretamente estende a classe base 'Observable <T>'
sam
@sam que não parece estar relacionado a este problema. Talvez poste como uma nova pergunta junto com seu código.
tryToLearn
2
Isso funcionou para mim. Eu adicionei src ao basUrl no arquivo tsconfig.app.json. "baseUrl": "src",
howserss
1
Adicionar "baseUrl": "src" no arquivo tsconfig.json funcionou para mim.
Chamu
1
Agradável adicionando "baseUrl": "src" isso no tsconfig e reinicie o IDE para resolver meu problema.
Gauttam Jada
74

O pacote node_modules provavelmente está ausente no projeto angular, execute:

npm install

dentro da pasta do projeto angular.

Stefan Mitic
fonte
2
o que na Terra! começando com angular, isso salvou meu hoje
M-sAnNan
A árvore de diretórios na questão original continha a pasta node_moduls / @ angular / core, mas talvez estivesse vazia.
eckes de
3
em seguida, reinicie o VSCode
andreikashin
Isso aconteceu em 2020. Obrigado.
Akito
36

O reinício do Visual Code é necessário se houver alguma atualização, instalação ou limpeza do cache

vbrgr
fonte
VS Code atualizado sem que eu soubesse. Reiniciar ajudou.
nikoalset
17

a correção para mim era correr

npm install

e depois descarregue e recarregue o projeto no estúdio visual.

jbooker
fonte
14

Eu estava enfrentando esse problema em meu angular 5aplicativo hoje. E a solução que me ajudou foi simples. Eu adicionei "moduleResolution": "node"ao compilerOptionsno tsconfig.jsonarquivo. O tsconfig.jsonconteúdo completo do meu arquivo está abaixo.

{
  "compileOnSave": false,  
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

A moduleResolutionestratégia de resolução do módulo específico. O valor dessas configurações pode ser nodeou classic. Você pode ler mais sobre isso aqui .

Sibeesh Venu
fonte
salvou minha carreira!
nulo
Melhor resposta de todas!
José Neto
6

Exclua a pasta Node Modules da pasta do projeto. Execute o comando abaixo

npm cache clean --force npm install

Deve funcionar.

Kruti
fonte
5

Tente usar:

npm audit fix --force

e depois:

npm install --save @ng-bootstrap/ng-bootstrap

em vez de salvar @ng-bootstrap/ng-bootstrapglobalmente.

theChosenOne.Duh
fonte
5

Eu tive o mesmo problema. Eu resolvi isso limpando o cache npm que está em "C: \ Usuários \ Administrador \ AppData \ Roaming \ npm-cache"

Ou você pode simplesmente executar:

npm cache clean --force

e feche o vscode e abra sua pasta novamente.

waqas.sidd
fonte
3

Eu estava enfrentando o mesmo problema, pode haver dois motivos para isso-

  1. Sua pasta base src pode não ter sido declarada, para resolver isso vá para tsconfig.json e adicione o url base como "src" -
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "src",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "lib": [
      "es2018",
      "dom"
    ]
  },
  "angularCompilerOptions": {
    "fullTemplateTypeCheck": true,
    "strictInjectionParameters": true
  }
}
  1. você pode ter problemas no npm, para resolver isso, abra sua janela de comando e executenpm install
Sandesh Tayde
fonte
2

Desinstalei todas as extensões que já tinha instalado e descobri que as extensões JavaScript e TypeScript IntelliSense do endereço abaixo causaram o problema. https://marketplace.visualstudio.com/items?itemName=sourcegraph.javascript-typescript

o ponto aqui é quando você visita o site e vê que há um rótulo amarelo, informando que está na versão de visualização, mas quando você navega nas extensões vs, você não vê esse rótulo.

Arash
fonte
Infelizmente, ainda estou tendo esse problema, mesmo depois de desinstalar todas as extensões e reiniciar o VS Code. : /
Jonathan
1
Desculpas, eu deveria ter dado uma atualização sobre isso. Sim, parece que ficou claro, mas não tenho certeza se me lembro exatamente como. No entanto, algumas coisas que eu definitivamente fiz: A) excluí completamente e recriei minha solução, B) desinstalei e reinstalei o Angular CLI, C) reiniciei minha máquina. Espero que isso possa ajudar alguém. Se isso acontecer novamente, tentarei ser mais metódico ao determinar como corrigi-lo, para que possa relatar uma solução repetível.
Jonathan
1
Outra solução possível é clicar na barra de status e selecionar "Usar Versão do Espaço de Trabalho", consulte github.com/Microsoft/vscode/issues/34681
Luis Cantero
2

Tentei várias coisas que os caras informaram aqui, sem sucesso. Depois, percebi que estava usando a extensão Deno Support para VSCode. Desinstalei-o e foi necessário reiniciá-lo. Após reiniciar o problema foi resolvido.

Jeter Costa e Silva
fonte
1

No meu caso, foi um erro de ortografia da linha de importação. Verifique se você digitou a parte @ angular / core corretamente se digitando manualmente.

import { Component } from '@angular/core';

Adamantus
fonte
1

A solução para mim foi importar o projeto inteiro. Para quem tiver esse problema em 2019 verifique se você importou o projeto inteiro e não faz parte do projeto.

Mestre rsl
fonte
1

Se você fez o que eu (tolamente) fiz ... Que foi arrastar e soltar uma pasta de componentes em meu projeto então provavelmente será capaz de resolvê-lo fazendo o que fiz para corrigi-lo.

Explicação : Basicamente, por alguns meios, o Angualar CLI deve dizer ao InteliJ o que @angularsignifica. Se você apenas colocar o arquivo em seu projeto sem usar o Angular CLI, ou seja,ng g componentName --module=app.module , o Angular CLI não sabe como atualizar esta referência, então o IntelliJ não tem ideia do que seja.

Abordagem : acione a CLI Angular para atualizar as referências de@angular . Atualmente, conheço apenas uma maneira de fazer isso ...

Implementação : adicione um novo componente no mesmo nível do componente com o qual você está tendo problemas. ng g tempComponent --module=app.module Isso deve forçar o Angular CLI a executar e atualizar essas referências no projeto. Agora, basta excluir o tempComponent que você acabou de criar e não se esqueça de remover qualquer referência a ele em app.module .

Espero que isso ajude alguém.

Tripp Cannella
fonte
1

Tive o mesmo problema, ficou estranho porque o projeto compilou e rodou sem erros. Eu atualizei o npm e reinstalei os pacotes

npm update
npm install

então vs código pare de dizer isso.

Santiago Ceron
fonte
1

Você precisa instalá-lo manualmente.

$ npm i @angular/core -s
Prithi
fonte
0

Tudo que você precisa fazer é incluir a pasta "nodes_modules" em seu projeto. Você pode enfrentar esse problema ao clonar qualquer projeto do github por meio da linha de comando do git.

Anand
fonte
provavelmente não é o caso, pois quando você executa o npm install na raiz do seu site, na pasta que contém o arquivo package.json, essa pasta é criada automaticamente para você com os módulos necessários.
Keenan Stewart,
sim. se executar a instalação do nmp, ele baixará o pacote necessário verificando o arquivo package.json ..
Anand
0

Ocorre ao clonar ou abrir projetos existentes no Visual Studio Code. No terminal integrado execute o comando npm install

Paras Rawat
fonte
1
Isso já foi dado várias vezes. Há algo novo que você gostaria de adicionar?
Nico Haase
0

Resolvi este problema da seguinte maneira:

  1. Abra o código do Visual Studio com seu projeto.
  2. Terminal -> Novo Terminal.
  3. Escreva npm install.
Mohamad Alhamid
fonte
1
Já existem pelo menos 2 respostas diferentes dizendo "correr npm install"
barbsan
0

Executar os dois comandos a seguir resolve o problema para mim:

npm install -g @angular/cli
ng update --all --force
AbdusSalam
fonte
1
Postar várias respostas idênticas é, na melhor das hipóteses, "altamente desaprovado" e suas respostas podem ser excluídas. No seu caso, você também digitou Angular incorretamente em todas as respostas.
David Buck
Adicione alguma explicação ao seu código para que outras pessoas possam aprender com ele
Nico Haase
0

Provavelmente o pacote npm está faltando. E às vezes o npm install não resolve o problema.

Eu já enfrentei o mesmo e resolvi esse problema excluindo a node_modulespasta e depoisnpm install

Kazi
fonte
0

para Visual Studio ->

    Seems like you don't have `node_modules` directory in your project folder.
     
    Execute this command where `package.json` file is located:
    
     npm install 
Yodhraj Patil
fonte
0

Na barra de status do VSCode, deve estar mostrando a versão do texto digitado - como este insira a descrição da imagem aqui

Clicar no número da versão mostrará isso, diferentes versões disponíveis. insira a descrição da imagem aqui

Se você estiver usando a versão do VSCode, a mudança para a versão do espaço de trabalho resolverá o problema se for um problema do VScode em vez do tsconfig.json (já estou usando esse, então não destaque) insira a descrição da imagem aqui

Sanket Sardesai
fonte
0

Experimente isso, funcionou para mim:

npm i --save @angular/platform-server  

Em seguida, reabra o código VS

VEEZ
fonte
-1

Corra

npm install 

vai funcionar na maioria dos casos

VinK
fonte
Isso está incorreto. As questões afirmam que está compilando corretamente e o problema é com VSCode, não com a compilação
ManavM
1
Meu projeto estava compilando corretamente e rodando, e o problema estava no VSCode, não na compilação, e o npm install apenas corrigiu.
Treer
-3

Do meu ponto de vista, a CLI que você está usando e as bibliotecas são incompatíveis. O ionic CLI versão 1 não pode construir bibliotecas para o ionic CLI versão 4. A melhor solução é tentar atualizar sua versão CLI. Caso contrário, você pode usar o nvm, que permite a execução de várias versões de nós no mesmo sistema operacional. Isso pode ajudá-lo a usar diferentes versões de CLI iônicas em diferentes projetos, dependendo dos requisitos.

Confira nvm @: seu repositório oficial do Windows. Também existe uma versão para MAC e Linux.

Siundu254
fonte
-5

Se obtivermos esse tipo de erro basta usar o comando:

 npm i @anglar/core,
 npm i @angular/common,
 npm i @angular/http,
 npm i @angular/router

Depois de instalar este também mostrando um erro, apenas remova algumas palavras e, em seguida, adicione novamente a palavra que está funcionando.

prasantha
fonte
1
O package.json original já os tinha instalado. O que significa “remover algumas palavras”?
eckes de