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应用程序的这个问题,并通过执行以下操作来解决它:

  1. 我创build了一个新的Angular 2项目“ng serve DempApp”
  2. 我做了我的旧package.json文件的备份副本。
  3. 然后我比较我的旧package.json文件与新的。 我从新的package.json中replace了新的“dependencies”和“devDependencies”块。
  4. 然后,我编辑了旧的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。