vs код не може знайти модуль '@ angular / core' або будь-які інші модулі


87

мій проект був створений із [Angular CLI] версії 1.2.6.

Я можу скомпілювати проект, і він працює нормально, але я завжди отримую повідомлення про помилку проти коду, що повідомляє, що я не можу знайти модуль '@ angular / core' не можу знайти модуль '@ angular / router' не можу знайти модуль .....

скріншот скріншот

Я вклав вміст свого файлу tsconfig.json, це мене дуже засмутило, витративши 2 години, щоб з'ясувати, що не так, я також видалив і перевстановив код vs, що не працює.

ось моя специфікація навколишнього середовища:

@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

ОС: Microsoft проти 10 Enterprise

коренева папка проекту

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

папка 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"
    ]
  }
}

2
Це тому, що ви встановили кутове ядро ​​як глобальне. Intellisense не може знайти його в node_modules.
Prajwal

кутове ядро ​​знаходиться в моєму node_module
Arash

25
Ви відкривали проект vscodeдо цього npm install? Якщо yesви намагалися перезапустити vscodeпісля цього?
kuncevic.dev

6
я перезапускав 100 разів
Араш,

Чи можете ви спробувати створити новий проект за допомогою cli, npm installа потім перевірити, чи є те саме з цим?
kuncevic.dev

Відповіді:


115

Я зіткнувся з цією проблемою лише під час імпортування власних створених компонентів / служб. Для тих з вас, як я, для яких прийняте рішення не спрацювало, можна спробувати наступне:

Додати

"baseUrl": "src"

у вашому tsconfig.json. Причина полягає в тому, що візуальний код IDE не може вирішити базову URL-адресу, тому не може визначити шлях до імпортованих компонентів і видає помилку / попередження.

Тоді як кутовий компілятор srcза замовчуванням приймає за базовий, тому він може компілювати.

ПРИМІТКА:

Вам потрібно перезапустити ID середовища коду VS, щоб ця зміна набула чинності.

РЕДАГУВАТИ:

Як зазначалося в одному з коментарів, в деяких випадках зміна версії робочої області також може спрацювати. Детальніше тут: https://github.com/Microsoft/vscode/issues/34681#issuecomment-331306869


це спрацювало у мене ... але тепер з'являється чергова помилка Build: Клас 'Subject <T>' неправильно розширює базовий клас 'Observable <T>'
сам

@sam, який, схоже, не пов’язаний із цією проблемою. Можливо, опублікуйте це як нове питання разом із вашим кодом.
tryToLearn

2
Це спрацювало для мене. Я додав src до basUrl у файлі tsconfig.app.json. "baseUrl": "src",
howserss,

1
Додавання "baseUrl": "src" у файл tsconfig.json у мене спрацював.
Чаму

1
Приємно, додавши "baseUrl": "src" це в tsconfig і перезапустити IDE, щоб вирішити мою проблему.
Gauttam Jada

74

Швидше за все відсутній пакет node_modules у проекті angular, запустіть:

npm install

всередині кутової папки проекту.


2
що на землі! починаючи з кутового, це врятувало мій сьогоднішній день
M-sAnNan

Дерево каталогів у вихідному питанні містило папку node_moduls / @ angular / core, але, можливо, воно було порожнім.
еккес

3
потім перезапустіть VSCode
andreikaashin

Це було зроблено в 2020 році. Дякую.
Akito

36

Потрібно перезапустити Visual Code, якщо є оновлення, установка або очищення кешу


Код VS оновлений, не знаючи про нього. Перезапуск допоміг.
nikoalset

17

виправленням для мене було запустити

npm install

а потім вивантажте, а потім перезавантажте проект у візуальну студію.


14

angular 5Сьогодні я стикався з цим питанням у своїй заявці. І виправлення, яке мені допомогло, було простим. Я додав "moduleResolution": "node"до compilerOptionsв tsconfig.jsonфайлі. Моє повне tsconfig.jsonвміст файлу подано нижче.

{
  "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"
    ]
  }
}

moduleResolutionВказати модуль стратегії вирішення. Значення цих налаштувань може бути nodeабо classic. Ви можете прочитати більше про це тут .


врятував мою кар'єру!
нуль

Найкраща відповідь!
Хосе Нето,

6

Видаліть папку Модулі вузлів з папки проекту, запустіть команду нижче

npm cache clean --force npm install

Це має спрацювати.


5

Спробуйте використати:

npm audit fix --force

і потім:

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

замість того, щоб економити @ng-bootstrap/ng-bootstrapглобально.


5

У мене була та сама проблема. Я вирішив це, очистивши кеш-пам'ять npm, що знаходиться в "C: \ Users \ Administrator \ AppData \ Roaming \ npm-cache"

Або ви можете просто запустити:

npm cache clean --force

а потім закрийте vscode, а потім знову відкрийте папку.


3

Я стикався з тим самим питанням, це могло бути з двох причин -

  1. Можливо, ваша основна папка src не оголошена, щоб вирішити цю проблему, перейдіть до tsconfig.json і додайте базову URL-адресу як "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. у вас можуть виникнути проблеми в npm. Щоб вирішити цю проблему, відкрийте командне вікно та запустітьnpm install

2

Я видалив усі розширення, які я вже встановив, і виявляється, розширення JavaScript та TypeScript IntelliSense знизу спричинило проблему. https://marketplace.visualstudio.com/items?itemName=sourcegraph.javascript-typescript

справа тут у тому, що коли ви відвідуєте веб-сайт, ви бачите жовту мітку, повідомляючи вам, що це у попередньому випуску, але коли ви переглядаєте vs розширення, ви не бачите цієї мітки.


На жаль, у мене все ще є ця проблема, навіть після видалення всіх розширень та перезапуску VS Code. : /
Джонатан

1
Вибачте, я мав би повідомити про це. Так, здається, це прояснилось, але я не впевнений, що точно пам’ятаю як. Однак деякі речі, які я точно зробив: A) повністю видалив і заново створив своє рішення, B) видалив і перевстановив Angular CLI, C) перезавантажив мою машину. Сподіваюся, це може комусь допомогти. Якщо це повториться, я спробую більш методично визначити, як це виправити, щоб я міг повідомити про повторюване рішення.
Джонатан

1
Іншим можливим рішенням є натискання на рядок стану та вибір «Використовувати версію робочої області», див. Github.com/Microsoft/vscode/issues/34681
Луїс

2

Я спробував багато речей, про які хлопці повідомили тут, без успіху. Після, я щойно зрозумів, що використовую підтримку Deno для розширення VSCode. Я видалив його, і потрібно було перезапустити. Після перезапуску проблема була вирішена.


1

це розширення https://marketplace.visualstudio.com/items?itemName=sourcegraph.javascript-typescript викликало у мене помилку у візуальному коді, я видалив його, і воно працює для мене


"Зараз це розширення не опубліковано в Marketplace. Ви можете видалити його." станом на 11 листопада 2019 року згадується на marketplace.visualstudio.com/…
RajKon

1

У моєму випадку це було неправильне написання лінії імпорту. Переконайтесь, що ви правильно написали частину @ angular / core, якщо набираєте її вручну.

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


1

Виправкою для мене було імпортування всього проекту. Для тих, хто має цю проблему в 2019 році, перевірте, чи імпортували ви весь проект, не є частиною проекту.


1

Якщо ви зробили те, що я (по-дурному) зробив ... Це було перетягуванням папки компонентів у мій проект, то ви, мабуть, зможете це вирішити, зробивши те, що я зробив, щоб це виправити.

Пояснення : В основному, якимось чином Angualar CLI повинен сказати InteliJ, що @angularозначає. Якщо ви просто плутаєте файл у своєму проекті, не використовуючи Angular CLI, тобто ng g componentName --module=app.moduleAngular CLI не знає, щоб оновити це посилання, тому IntelliJ не знає, що це таке.

Підхід : активуйте Angular CLI для оновлення посилань на @angular. На даний момент я знаю лише один спосіб зробити це ...

Впровадження : Додайте новий компонент на тому самому рівні, що і компонент, у якого виникають проблеми. ng g tempComponent --module=app.module Це повинно змусити Angular CLI запускати та оновлювати ці посилання в проекті. Тепер просто видаліть щойно створений вами tempComponent і не забудьте видалити будь-яке посилання на нього в app.module .

Сподіваюся, це допомагає комусь іншому.


1

У мене була та сама проблема, це було дивно, тому що проект скомпільований і запускався без помилок. Я оновив npm, а потім перевстановив пакети

npm update
npm install

тоді проти коду перестати говорити це.



0

Все, що вам потрібно зробити, це те, що ви повинні включити папку "nodes_modules" у свій проект. Ви можете зіткнутися з цією проблемою, коли клонуєте будь-який проект з github через командний рядок git.


ймовірно, це не так, оскільки при запуску програми npm install у кореневій частині вашого сайту в папці, що містить файл package.json, ця папка автоматично створюється для вас із необхідними модулями.
Кінан Стюарт,

так якщо запустити nmp install, він завантажить необхідний пакет, перевіривши файл package.json ..
Ананд

0

Виникає під час клонування або відкриття існуючих проектів у Visual Studio Code. В інтегрованому терміналі запустіть команду npm install


1
Це вже давали кілька разів. Щось нове ви хотіли б додати?
Ніко Хаасе,

0

Я вирішив цю проблему наступним чином:

  1. Відкрийте код проекту Visual Studio разом із вашим проектом.
  2. Термінал -> Новий термінал.
  3. Пишіть npm install.

1
Уже є щонайменше 2 різні відповіді, в яких говориться " npm install
бігай

0

Виконання наступних двох команд вирішує проблему для мене:

npm install -g @angular/cli
ng update --all --force

1
Розміщення кількох однакових відповідей, у кращому випадку, "дуже насуплене", і ваші відповіді можуть бути видалені. У вашому випадку ви також неправильно написали Angular у всіх відповідях.
Девід Бак,

Будь ласка, додайте до свого коду якесь пояснення, щоб інші могли навчитися з нього
Ніко Хаасе,

0

Швидше за все, пакунок npm відсутній. І іноді встановлення npm не вирішує проблему.

Я зіткнувся з тим самим і вирішив цю проблему, видаливши node_modulesпапку, а потімnpm install


0

для 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 

0

У рядку стану VSCode він повинен відображати версію машинопису - ось так введіть тут опис зображення

Натиснувши цей номер версії, ви побачите, що доступні різні версії. введіть тут опис зображення

Якщо ви використовуєте версію VSCode, то перехід на версію Workspace вирішує проблему, якщо це проблема VScode, а не ваш tsconfig.json (я її вже використовую, тому не виділено) введіть тут опис зображення


0

Спробуйте це, мені це вдалося:

npm i --save @angular/platform-server  

Потім знову відкрийте код VS


-1

Не біжи

npm install 

це спрацює в більшості випадків


Це неправильно. У запитаннях зазначено, що він правильно компілюється, і проблема стосується VSCode, а не компіляції
ManavM

1
Мій проект правильно компілювався та працював, і проблема була у VSCode, а не в компіляції, і npm install просто виправив це.
Треер,

-3

З моєї точки зору, CLI, який ви використовуєте, і бібліотеки не співпадають. Ionic CLI версія 1 не може створювати бібліотеки для ionic CLI версії 4. Найкраще рішення - спробувати оновити версію CLI. В іншому випадку ви можете використовувати nvm, що дозволяє запускати кілька версій вузлів в одній ОС. Це може допомогти вам використовувати різні версії іонних CLI для різних проектів залежно від вимог.

Перевірте nvm @: Їх офіційний репозиторій Windows. Існує також версія MAC та Linux.


-5

Якщо ми отримуємо такий тип помилок, просто використовуйте команду:

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

Після встановлення цієї також показує помилку просто видалити кілька слів, а потім знову додати це слово працює.


1
В оригінальному пакеті.json вони вже були встановлені. Що означає «видалити кілька слів»?
еккес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.