Ответ 1
Существует проблема с версией
"@angular/cli": "1.0.0-rc.4"
Попробуйте установить более старый
"@angular/cli": "1.0.0-rc.2"
Я работаю над проектом 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)
Существует проблема с версией
"@angular/cli": "1.0.0-rc.4"
Попробуйте установить более старый
"@angular/cli": "1.0.0-rc.2"
У меня была та же проблема. Я разрешил его после процесса "Обновление Angular CLI" в npm @angular/cli page, то есть:
rm -rf node_modules dist
npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/[email protected]
npm install
ng serve
Это сработало для меня.
Я пробовал все в этих ответах, и единственное, что сработало для меня, было следующее:
Шаг 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" и дождитесь завершения установки, это исправление отлично работает для меня.
Эта же ошибка может возникать и при обновлении до Angular 4 и не обновлять Typescript до версии 2.1.0.
Это абсолютно сосало, чтобы работать. Чтобы меня исправить, я должен был сделать несколько вещей...
Чтобы обойти ошибку @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
вывод. Наконец-то.
Надеюсь, это поможет кому-то.
У меня была та же проблема. Перезагрузил мой компьютер, потому что 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",
Я взял у меня 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
Я пробовал почти все исправления в этом вопросе. Я также попробовал один из 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 должна будет решить.
Вам нужно обновить свой пакет .json.
Необходимо изменить dependecy "typescript" для работы.
Последние рабочие зависимости для angular -cli:
@angular/кли: "1.0.0",
@angular/compiler-cli: "^ 4.0.0",
typescript: "~ 2.2.0"
Я изменил эти параметры и работал
Обновите typescript до последней версии с помощью
npm install -g [email protected]
найти версию установленного пакета с
tsc -v
откройте package.json и измените версию typescript с последней и запустите ее снова.
Я думаю, вам нужно запустить "npm install @ angular/compiler-cli --save".
Убедитесь, что ваш локальный проект node_modules/@angular/cli 'не является ссылкой на глобальный' node_modules... '. Удалите локальную папку (символическую ссылку) и снова вызовите "npm install".
В моем случае это был неправильный вызов "ng new" с параметром "-link-cli". Мне кажется, что этот параметр не работает, как ожидалось, или я понятия не имею, как правильно его использовать.
У меня была эта проблема со старым приложением Angular 2 и решила его, выполнив следующие действия:
Затем я отредактировал старый файл angular -cli.json и заменил блок "environment" следующим, который я скопировал из нового приложения:
"environmentSource": "environment/environment.ts", "среды": { "dev": "environment/environment.ts", "prod": "environment/environment.prod.ts" }
После обновления 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"
}
Я создаю новую новую установку на компьютере 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]"
Он работает для меня, и проект успешно выполняется.
Эта ошибка в заголовке вопроса возникла из-за копирования существующего проекта и попытки запустить 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"
}
}
Была ли такая же проблема при обновлении angular 4 после установки angular -cli при запуске
ng serve
Я получил ту же ошибку. Я ссылался на репозиторий uptodate link и изменил компилятор, cli и core на 4.0. Это сработало для меня.
Я решил эту проблему, выполнив npm i
для меня проблема заключалась в том, что я создал проект с кли, но не был изменен в этот каталог, прежде чем пытаться его обслуживать.
РЕШЕННЫЙ!!!
Эта ошибка напрямую не связана с @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 **
Я пробовал практически все на своем Mac, пока не получил его для работы:
> npm cache clean --force
> npm install
> ng serve
Используйте команду npm install -g @ angular/cli для установки cli.