Angular2 Ошибка CLI "@angular/compiler-cli" не был правильно установлен - программирование
Подтвердить что ты не робот

Angular2 Ошибка CLI "@angular/compiler-cli" не был правильно установлен

Я работаю над проектом Angular 2. Теперь, пытаясь установить Angular CLI в текущем проекте со следующими

npm install --save-dev @angular/[email protected]
npm install

Проблема при запуске ng serve Я получаю ошибку

The "@angular/compiler-cli" package was not properly installed.
Error: The "@angular/compiler-cli" package was not properly installed.
    at Object.<anonymous> (/myng2project/node_modules/@ngtools/webpack/src/index.js:14:11)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/myng2project/node_modules/@angular/cli/tasks/eject.js:10:19)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
4b9b3361

Ответ 1

Существует проблема с версией

"@angular/cli": "1.0.0-rc.4"

Попробуйте установить более старый

"@angular/cli": "1.0.0-rc.2"

Ответ 2

У меня была та же проблема. Я разрешил его после процесса "Обновление Angular CLI" в npm @angular/cli page, то есть:

1. Удаление и очистка (глобальная)

rm -rf node_modules dist
npm uninstall -g @angular/cli
npm cache clean

2. Переустановка и воспроизведение (глобальная)

npm install -g @angular/[email protected]
npm install
ng serve

Это сработало для меня.

Ответ 3

Я пробовал все в этих ответах, и единственное, что сработало для меня, было следующее:

Шаг 1: установка npm -g @ angular/cli @последняя
Шаг 2: новое имя-проект (игнорируйте, если проект уже создан)
Шаг 3: cd name-of-project (игнорировать, если проект уже создан)
Шаг 4: npm install @angular/cli --save-dev
Шаг 5: npm install @angular/compiler-cli --save-dev
Шаг 6: ng serve

Протестировано эти шаги в двух разных средах.

Внутри папки проекта введите "npm install" и дождитесь завершения установки, это исправление отлично работает для меня.

Ответ 4

Эта же ошибка может возникать и при обновлении до Angular 4 и не обновлять Typescript до версии 2.1.0.

Ответ 5

Это абсолютно сосало, чтобы работать. Чтобы меня исправить, я должен был сделать несколько вещей...

Чтобы обойти ошибку @angular/compiler-cli was not installed correctly, мне пришлось принять решение @Ruzenhack, которое должно было удалить как глобальные, так и локальные пакеты @angular/cli:

rm -rf node_modules dist
npm uninstall -g @angular/cli
npm cache clean

Но, приняв его советы по установке @angular/[email protected], я оставил меня с той же проблемой, что привело меня к предложению @SergeyV о том, что я перехожу на более раннюю версию cli. Лично у меня был еще один проект, который работал с @angular/[email protected], поэтому я решил использовать его и установить его как в глобальном, так и в моем package.json.

Success.

НО...

Мне была дана еще одна ошибка.... Cannot read property 'Private' of undefined

Проклятье.

Итак, я принял это предложение из angular -cli github issues, который должен был обновить мой typescript. Итак, бросив мою версию typescript до ^2.0.0 в package.json, меня встретил знакомый и разочарованный зеленый ng serve вывод. Наконец-то.

Надеюсь, это поможет кому-то.

Ответ 6

У меня была та же проблема. Перезагрузил мой компьютер, потому что Windows.. По-прежнему видел то же сообщение об ошибке, когда понял, что я еще не запускал npm install в проекте, поэтому я это сделал и решил проблему.

Глобальный angular CLI - версия 1.0.0-rc.4

Локальные зависимости:

"@angular/common": "^2.4.0",
"@angular/compiler": "^2.4.0",
"@angular/core": "^2.4.0",

Ответ 7

Я взял у меня 10 часов исследований, чтобы найти это:

npm start

Длинная история, позволяющая сравнить ваш подход к исследованию:

После нескольких неудачных попыток я переустановил node и npm, и теперь у меня есть:

c:\> ng -v
@angular/cli: 1.3.0
node: 6.9.0
os: win32 ia32

Все работает отлично для новых проектов

ng new my-new-project

Но у меня есть скомпрометированный проект, который показывает

Unable to find "@angular/cli" in devDependencies.

Please take the following steps to avoid issues:
"npm install --save-dev @angular/[email protected]"

The "@angular/compiler-cli" package was not properly installed. Error: Error: Cannot find module '@angular/compiler-cli'
Error: The "@angular/compiler-cli" package was not properly installed. Error: Error: Cannot find module '@angular/compiler-cli'
at Object.<anonymous> (C:\Users\profimedica\AppData\Roaming\npm\node_modules\@angular\cli\node_modules\@ngtools\webpack\src\index.js:14:11)

Поскольку у меня уже установлено @ angular/cli, я просто должен был добавить его в файл package.json, используя в качестве примера тот же файл из нового созданного проекта, который отлично работает

{
  "dependencies": {
    "body-parser": "^1.17.1",
    "express": "^4.15.2",
    "http": "0.0.0"
  },
  "devDependencies": {
    "@angular/cli": "1.3.0",
    "@angular/compiler-cli": "^4.2.4"
  }
}

Вторая ошибка выбрана здесь, потому что модуль @ angular/compiler-cli не установлен как локальный модуль:

// Check that Angular is available.
try {
    version = require('@angular/compiler-cli').VERSION;
}
catch (e) {
    throw new Error('The "@angular/compiler-cli" package was not properly installed. Error: ' + e);
}

Я проверил папку node_modules, и я заметил, что папки. \node_modules\@angular\compiler-cli,.\node_modules\@angular\compiler и.\node_modules\@angular\core, где отсутствует.

Я установил по мере необходимости:

npm install @angular/compiler-cli
npm install @angular/compiler
npm install @angular/core

Я добавил журнал в файл, и я вижу обнаруженную версию после установки:.\ node_modules\@ngtools\webpack\src\index.js

console.log(require('@angular/compiler-cli').VERSION);
Version { full: '4.3.5' }

Теперь я получаю новую ошибку:

Cannot read property 'config' of null
TypeError: Cannot read property 'config' of null
at Class.run (C:\PRO\htdocs\my\api\gen\projects\generated\testknowledge\node_modules\@angular\cli\tasks\serve.js:23:63)

Чтобы исследовать эту новую проблему, я добавил строку журнала в. \ node_modules\@angular\cli\models\config\config.js

class CliConfig {
    constructor(_configPath, schema, configJson, fallbacks = []) {
        this._configPath = _configPath;     
        console.log(_configPath);
        this._config = new (json_schema_1.SchemaClassFactory(schema))(configJson, ...fallbacks);
    }

И я получил неожиданное значение:

C:\Users\profimedica\.angular-cli.json

Очевидно, что этот файл не находится в моем домашнем каталоге, а не в корне проекта:

.\angular-cli.json 

После 3 часов исследований и попыток создания недостающих файлов мне пришлось пересмотреть подход.

Я удалил локальный модуль @ angular и переустановил его глобально:

npm install --save-dev @angular/[email protected]
npm install --save-dev @angular/[email protected]
npm install --save-dev @angular/[email protected]
npm install --save-dev @angular/[email protected]

Я обнаружил, что у моего проекта есть пользовательская архитектура, и мне пришлось запускать  npm start

Ответ 8

Я пробовал почти все исправления в этом вопросе. Я также попробовал один из https://github.com/angular/angular-cli#updating-angular-cli. Те же результаты. Поэтому я ввернулся в ошибку.

Я просмотрел код в node_modules/@ngtools/webpack/src/index.js: 14: 11 ". Это то же самое место, где он не работает в моем проекте. Строка version = require('@angular/compiler-cli').VERSION; Эта строка генерирует исключение и регистрирует ошибку The "@angular/compiler-cli" package was not properly installed.

Функция, бросающая ошибку, - это функция require. Таким образом, модуль @angular/compiler-cli не находится в текущей версии. Я пробовал идентификатор модуля @angular/compiler, но у него нет VERSION. (т.е. undefined).

Итак, похоже, что это ошибка, которую команда angular должна будет решить.

Ответ 9

Вам нужно обновить свой пакет .json.
Необходимо изменить dependecy "typescript" для работы.
Последние рабочие зависимости для angular -cli:
@angular/кли: "1.0.0",
@angular/compiler-cli: "^ 4.0.0",
typescript: "~ 2.2.0"
Я изменил эти параметры и работал

Ответ 10

Обновите typescript до последней версии с помощью npm install -g [email protected] найти версию установленного пакета с tsc -v

откройте package.json и измените версию typescript с последней и запустите ее снова.

Ответ 11

Я думаю, вам нужно запустить "npm install @ angular/compiler-cli --save".

Ответ 12

Убедитесь, что ваш локальный проект node_modules/@angular/cli 'не является ссылкой на глобальный' node_modules... '. Удалите локальную папку (символическую ссылку) и снова вызовите "npm install".

В моем случае это был неправильный вызов "ng new" с параметром "-link-cli". Мне кажется, что этот параметр не работает, как ожидалось, или я понятия не имею, как правильно его использовать.

Ответ 13

У меня была эта проблема со старым приложением Angular 2 и решила его, выполнив следующие действия:

  • Я создал новый проект Angular 2 с "ng serve DempApp"
  • Я сделал резервную копию моего старого файла package.json.
  • Затем я сравнил свой старый файл package.json с новым. Я заменил новый блоки "зависимостей" и "devDependencies" из нового package.json.
  • Затем я отредактировал старый файл angular -cli.json и заменил блок "environment" следующим, который я скопировал из нового приложения:

    "environmentSource": "environment/environment.ts", "среды": { "dev": "environment/environment.ts", "prod": "environment/environment.prod.ts" }

Ответ 14

После обновления angular -cli я получил ту же ошибку, и я исправил ее по вызову npm install -g angular-cli в каталоге проекта. После обновления angular-cli.json измените

"environments": {
  "source": "environments/environment.ts",
  "dev": "environments/environment.ts",
  "prod": "environments/environment.prod.ts"
}

to

"environmentSource": "environments/environment.ts",
"environments": {
  "dev": "environments/environment.ts",
  "prod": "environments/environment.prod.ts"
}

Ответ 15

Я создаю новую новую установку на компьютере Linux

@angular/cli: 1.0.1 node: 6.10.2 os: linux x64

После создания новых angular 2 проектов с использованием

ng new angularhellword

Проект успешно создан, но когда я выполняю команду

ng serve

Дает мне такую ​​же ошибку, как показано ниже

Пакет "@ angular/compiler-cli" был неправильно установлен.

Чтобы избежать проблем, выполните следующие действия:

"npm uninstall --save-dev angular-cli"

"npm install --save-dev @angular/[email protected]"

Он работает для меня, и проект успешно выполняется.

Ответ 16

Эта ошибка в заголовке вопроса возникла из-за копирования существующего проекта и попытки запустить ng-службу. Я попробовал все выше, просто попробовал новый MyApp, и попробуйте ниже package.json - сфокусируйтесь на версии angular -компилятора, ниже разрешенной ошибки на моей машине.

{
  "name": "orderflow2",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.0.0",
    "@angular/common": "^4.0.0",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.0",
    "@angular/forms": "^4.0.0",
    "@angular/http": "^4.0.0",
    "@angular/platform-browser": "^4.0.0",
    "@angular/platform-browser-dynamic": "^4.0.0",
    "@angular/router": "^4.0.0",
    "core-js": "^2.4.1",
    "rxjs": "^5.1.0",
    "webpack": "^3.2.0",
    "zone.js": "^0.8.4"
  },
  "devDependencies": {
    ***"@angular/cli": "^1.2.0",
    "@angular/compiler-cli": "^4.0.0",***
    "@angular/language-service": "^4.0.0",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "~3.0.1",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.0.4",
    "tslint": "~5.3.2",
    "typescript": "~2.3.3"
  }
}

Ответ 17

Была ли такая же проблема при обновлении angular 4 после установки angular -cli при запуске

ng serve

Я получил ту же ошибку. Я ссылался на репозиторий uptodate link и изменил компилятор, cli и core на 4.0. Это сработало для меня.

Ответ 18

Я решил эту проблему, выполнив npm i

Ответ 19

для меня проблема заключалась в том, что я создал проект с кли, но не был изменен в этот каталог, прежде чем пытаться его обслуживать.

Ответ 20

РЕШЕННЫЙ!!!

Эта ошибка напрямую не связана с @angular/компилятором-cli, как она утверждает, но с @angular/cli, вводящим в заблуждение частично жестко закодированным и частично неполная сообщенная ошибка. Это действительно бросается, когда версия @ angular/compiler-cli не может быть определена. Но этот модуль в порядке.

Поскольку я новичок в Angular, переход с .NET и я не ожидали так много проблем с самого начала. Поэтому я начал исследовать этот.

Ошибка возникает, когда webpack не может определить версию @ angular/compiler-cli в файле C:\Users\profimedica\AppData\Roaming\npm\node_modules\@angular\cli\node_modules\@ngtools\WebPack\SRC\index.js:

// Check that Angular is available.    
try {
    version = require('@angular/compiler-cli').VERSION;
}
catch (e) {
    throw new Error('The "@angular/compiler-cli" package was not properly installed. Error: ' + e);
}

Здесь вы можете проверить свои модули:

ng -v
@angular/cli: error
@angular/core: 4.3.6
@angular/compiler-cli: 4.3.6
node: 6.9.0
os: win32 ia32

My package.json содержит как devDependencies "webpack": "^ 3.5.5", но локального node_modules\webpack нет. У меня есть модуль webpack в моих глобальных модулях:

C:\Users\profimedica\AppData\Roaming\НПМ\node_modules\@angular\кли\node_modules\WebPack

Моя ошибка:

Пакет "@ angular/compiler-cli" был неправильно установлен. Ошибка:

Ошибка: не удается найти модуль '@ angular/compiler-cli'

Ошибка: пакет "@ angular/compiler-cli" был неправильно установлен. Ошибка:

Ошибка: не удается найти модуль ' @angular/compiler-cli  в объекте.

(C:\Users\profimedica ** AppData **\Roaming\НПМ\ node_modules\@angular\кли\node_modules ** @ngtools\WebPack **\SRC\index.js: 14: 8)   на Module._compile (module.js: 570: 32)

Обратите внимание, что он использует глобальный пакет. Я пытаюсь установить его локально:

npm install @ angular/[email protected]

npm install @ngtools/webpack @1.6.1

Он будет запрашивать отсутствующие пакеты, если таковые имеются:

npm WARN @ngtools/webpack @1.6.1 требуется одноранговое расширение [email protected]^3.1.0, но ни один из них не установлен.

npm WARN @ngtools/webpack @1.6.1 требуется одноранговое [email protected]^2.2.0 || ^ 3.0.0, но никто не был установлен.

npm WARN [email protected] требует однорангового соединения ajv @ >= 5.0.0, но ни один из них не был установлен.

Итак, я должен был добавить их тоже.

npm install [email protected]^3.1.0
npm install [email protected]^3.5.5
npm install [email protected]

Теперь проблема заключается в том, что локальный модуль не используется. Только глобальный. И ошибка такая же. Даже если у меня установлен Angular Cli:

ng -v
    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
           |___/

Теперь мое приложение отлично работает:

PS C:\PRO\ANG\material\ag-grid\ag-grid-angular-seed\angular-cli> npm start
> [email protected] start C:\PRO\ANG\material\ag-grid\ag-grid-angular-vseed\angular-cli
> ng serve
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200 **

Ответ 21

Я пробовал практически все на своем Mac, пока не получил его для работы:

> npm cache clean --force
> npm install
> ng serve

Ответ 22

Используйте команду npm install -g @ angular/cli для установки cli.