Angular2 CLI错误“@ angular / compiler-cli”包未正确安装
我正在开发一个Angular 2项目。 现在尝试使用以下命令在当前项目中安装Angular CLI
npm install --save-dev @angular/cli@latest 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"
我有同样的问题。 我在npm @ angular / cli页面的“更新Angular CLI”过程中解决了这个问题,那就是:
1.卸载并清理(全局)
rm -rf node_modules dist npm uninstall -g @angular/cli npm cache clean
2.重新安装并播放(全局)
npm install -g @angular/cli@latest npm install ng serve
这对我有效。
我已经在这些答案中尝试了一切,唯一对我有用的是以下内容:
第1步:npm install -g @ angular / cli @ latest
第2步:ng新的项目名称(如果项目已经创build,则忽略)
第3步:cd项目名称(如果项目已经创build,则忽略)
第4步:npm install @ angular / cli –save-dev
第5步:npm install @ angular / compiler-cli –save-dev
第6步:服务
在两个不同的环境中testing这些步骤
在项目文件夹里面,input“npm install”等待安装结束,这个修复对我来说工作正常。
如果升级到Angular 4并且不将Typescript更新到2.1.0,也会发生同样的错误。
这绝对是吸引人的工作。 为了让我解决它,我不得不做一些事情…
为了解决@angular/compiler-cli was not installed correctly
错误,我不得不采取@ Ruzenhack的解决scheme,即去除全局和本地@angular/cli
包:
rm -rf node_modules dist npm uninstall -g @angular/cli npm cache clean
但是,进一步安装@angular/cli@latest
最终还是给我留下了同样的问题,这让我感到@谢尔盖夫的build议是我降级到旧版本的cli
。 就我个人而言,我有另一个项目与@angular/cli@1.0.0-rc.1
一起工作,所以我决定使用它,并在全球以及我的package.json
安装它。
成功。
但是 …
然后我被给了另一个错误…. Cannot read property 'Private' of undefined
该死。
所以我从angular-cli github的问题 ,这是提升我的打字稿这个build议。 所以,把我的打字稿版本扔到package.json
^2.0.0
版本,我被熟悉的和无挫伤的绿色ng serve
输出所迎接。 最后。
我希望这可以帮助别人。
我有同样的问题。 重新启动我的电脑,因为Windows ..仍然看到相同的错误信息,当我意识到我还没有运行npm安装在项目上,所以我这样做,它解决了这个问题。
全局angular度CLI – 版本1.0.0-rc.4
本地依赖:
"@angular/common": "^2.4.0", "@angular/compiler": "^2.4.0", "@angular/core": "^2.4.0",
我带了10个小时的调查来find这个:
npm开始
长长的故事让你比较你的调查方法:
经过多次失败的尝试,我重新安装节点和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/cli@latest" 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文件中,使用新创build的项目中的相同文件即可:
{ "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个小时的调查和尝试创build丢失的文件,我不得不重新考虑这个方法。
我删除了本地@angular模块并全局重新安装:
npm install --save-dev @angular/cli@latest npm install --save-dev @angular/compiler-cli@latest npm install --save-dev @angular/compiler@latest npm install --save-dev @angular/core@latest
我发现我的项目有一个自定义的架构,我不得不运行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;
此行引发exception并logging错误The "@angular/compiler-cli" package was not properly installed.
抛出错误的函数是require
函数。 所以@angular/compiler-cli
模块不在当前版本中。 我已经尝试了模块标识符@angular/compiler
但没有一个VERSION
。 (即未定义)。
所以看起来这是一个angular色团队必须要解决的问题。
你需要更新你的package.json。
必须改变依赖“打字稿”才能正常工作。
上一次为angular-cli工作的依赖关系:
@angular/ CLI: “1.0.0”,
@angular/编译-CLI: “^ 4.0.0”,
打字稿: “〜2.2.0”
我改变了这个参数,并已工作
使用npm install -g typescript@latest
将打字稿升级到最新版本。最新版本用tsc -v
查找已安装软件包的版本
打开package.json并用最新版本更改打字稿版本并重新开始。
我想你需要运行“npm install @ angular / compiler-cli –save”。
检查您的本地项目的“node_modules / @ angular / cli”是否不是全局“node_modules …”的链接。 删除本地文件夹(符号链接)并再次调用“npm install”。
在我的情况下,用'–link-cli'参数错误'ng new'调用。 在我看来,这个参数不会按预期工作,或者我不知道如何正确使用它。
我有一个旧的Angular 2应用程序的这个问题,并通过执行以下操作来解决它:
- 我创build了一个新的Angular 2项目“ng serve DempApp”
- 我做了我的旧package.json文件的备份副本。
- 然后我比较我的旧package.json文件与新的。 我从新的package.json中replace了新的“dependencies”和“devDependencies”块。
-
然后,我编辑了旧的angular-cli.json文件,并用下面的代码replace了“environments”代码块,这些代码是从新应用程序中复制的:
“environmentSource”:“environments / environment.ts”,“environments”:{“dev”:“environments / environment.ts”,“prod”:“environments / 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" }
至
"environmentSource": "environments/environment.ts", "environments": { "dev": "environments/environment.ts", "prod": "environments/environment.prod.ts" }
我在Linux机器上创build新的全新安装
@ angular / cli:1.0.1节点:6.10.2 os:linux x64
在创build新的angular度2项目后
ng new angularhellword
项目成功创build,但是当我执行命令
ng serve
给我以上相同的错误,如下所示
“@ angular / compiler-cli”包没有正确安装。
请采取以下步骤避免问题:
"npm uninstall --save-dev angular-cli"
"npm install --save-dev @angular/cli@latest"
它适用于我和项目成功运行。
问题标题中的错误是由于现有项目的副本而发生的,并尝试运行服务。 我尝试了以上的一切,只是尝试新的YourApp,并尝试下面的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-cli后,在新的angular 4安装上遇到了同样的问题
ng serve
我得到了同样的错误。 我引用了存储库的uptodate链接 ,并将编译器,cli和core更改为4.0。 它为我工作。
我通过运行npm i
解决这个问题
对我来说,问题是我创build了一个cli项目,但在尝试提供服务之前没有更改到该目录
解决了 !!!
这个错误与@ angular / compiler-cli没有直接关系,而是@ angular / cli ,一个误导性的部分硬编码和部分不完整的报告错误。 当@ angular / compiler-cli的版本无法确定时,确实会抛出这个问题。 但是这个模块很好。
因为我是Angular的新手,所以从.NET迁移,我从一开始就没有想到会有这么多的问题。 所以我开始研究这个。
当webpack无法确定文件C:\ Users \ profimedica \ AppData \ Roaming \ npm \ node_modules \ @angular \ cli \ node_modules \ @ngtools \ webpack \ src \ index中的@ angular / compiler-cli版本时发生错误。 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
我的package.json包含devDependencies“webpack”:“^ 3.5.5”,但没有本地的node_modules \ webpack。 我有全局模块中的webpack模块:
C:\ Users \用户profimedica \应用程序数据\漫游\ NPM \ node_modules \ @angular \ CLI \ node_modules \的WebPack
我的错误是:
“@ angular / compiler-cli”包没有正确安装。 错误:
错误:找不到模块'@ angular / compiler-cli'
错误:“@ angular / compiler-cli”包未正确安装。 错误:
错误:无法在对象上find模块“ @ angular / compiler-cli ”。
(C:\ Users \ profimedica ** AppData ** \ Roaming \ npm \ node_modules \ @angular \ cli \ node_modules ** @ ngtools \ webpack ** \ src \ index.js:14:8)在Module._compile的.js:570:32)
Obsrve它使用全局包。 我尝试安装它localy:
npm install @ angular / cli @ 1.3.1
npm install @ ngtools / webpack @ 1.6.1
它会询问丢失的包裹,如果有的话:
npm WARN @ ngtools / webpack @ 1.6.1需要enhanced-resolve@ ^3.1.0的同行,但是没有安装。
npm WARN @ ngtools / webpack @ 1.6.1需要webpack@^2.2.0 ||的同行 ^ 3.0.0但没有安装。
npm WARN ajv-keywords@2.1.0需要ajv @> = 5.0.0,但没有安装。
所以,我也必须添加它们。
npm install enhanced-resolve@^3.1.0 npm install webpack@^3.5.5 npm install ajv@5.2.2
现在,问题是没有使用本地模块。 只有全球一个。 而错误是一样的。 即使我安装了Angular Cli:
ng -v _ _ ____ _ ___ / \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _| / △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | | / ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | | /_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___| |___/
现在我的应用程序工作正常
PS C:\PRO\ANG\material\ag-grid\ag-grid-angular-seed\angular-cli> npm start > ag-grid-cli@0.0.0 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上尝试了几乎所有的东西,直到我find它的工作:
> npm cache clean --force > npm install > ng serve
使用npm install -g @ angular / cli命令来安装cli。