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)

我遇到了同样的问题。我按照 npm @angular/cli 页面中的"更新角度 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 新的项目名称(如果项目已创建,则忽略) 第 3 步:

cd 项目名称(如果项目已创建,则忽略)

第 4 步:npm install @angular/cli --save-dev 第 5 步:npm install @angular/compiler-cli --save-dev

第 6 步:ng 服务

在两种不同的环境中测试了这些步骤

在项目文件夹中,键入"npm install"并等待安装完成,此修复程序对我来说效果很好。

版本存在问题

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

尝试安装较旧的

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

如果您升级到 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/cli@latest给我留下了同样的问题,这导致我@SergeyV建议我降级到旧版本的cli。就个人而言,我有另一个与@angular/cli@1.0.0-rc.1合作的项目,所以我决定使用它并在全球范围内以及我的package.json中安装它。

成功。

......

然后我又被给了另一个错误....Cannot read property 'Private' of undefined

该死。

所以我从angular-cli github问题中接受了这个建议,那就是升级我的打字稿。所以,把我的打字稿版本扔到^2.0.0package.json,迎接我的是熟悉且无挫折的绿色ng serve输出。最后。

我希望这对某人有所帮助。

我花了10个小时的调查才找到这个:

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:UsersprofimedicaAppDataRoamingnpmnode_modules@angularclinode_modules@ngtoolswebpacksrcindex.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文件夹,我观察到文件夹.ode_modules\@angular\compiler-cli,.ode_modules\@angular编译器和.ode_modules\@angular核心丢失。

我按要求安装:

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

我在文件中添加了一个日志,安装后看到检测到的版本:.ode_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:PROhtdocsmyapigenprojectsgeneratedtestknowledgenode_modules@angularclitasksserve.js:23:63)

为了调查这个新问题,我在 .ode_modules\@angular\cli\models\config\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:Usersprofimedica.angular-cli.json

显然,这个文件不在我的主目录中,而是来自项目的根目录:

.angular-cli.json 

经过 3 个小时的调查并尝试创建丢失的文件,我不得不重新考虑这种方法。

我删除了本地@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 启动

我遇到了同样的问题。重新启动了我的电脑,因为Windows..当我意识到我还没有在项目上运行 npm install 时,仍然看到相同的错误消息,所以我这样做了,它解决了问题。

全局角度 CLI - 版本 1.0.0-rc.4

本地依赖:

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

我已经尝试了这个问题中的几乎所有修复程序。我也在 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。(即未定义)。

所以看起来这是一个角度团队必须解决的错误。

使用 将打字稿升级到最新版本 npm install -g typescript@latest 查找已安装软件包的版本 tsc -v

打开 package.json 并使用最新版本更改打字稿版本,然后重新启动它。

求解!!

此错误与它声称的@angular/编译器-cli没有直接关系,而是与@angular/cli(一个误导性的部分硬编码和部分不完整的报告错误)有关。当无法确定 @angular/编译器-cli 的版本时,它确实会被抛出。但是这个模块很好。

由于我是 Angular 的新手,从 .NET 迁移,我从一开始就没想到会有这么多问题。所以我开始调查这个。

当 webpack 无法确定文件 C:\Users\profimedica\AppData\Roamingpmode_modules\@angular\cliode_modules\@ngtools\webpack\src\index.js 中的 @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);
}

您可以在此处检查您的模块:

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\AppData\Roamingpmode_modules\@angular\cliode_modules\webpack

我的错误是:

"@angular/编译器-cli"软件包未正确安装。错误:

错误:找不到模块"@angular/编译器-cli">

错误:"@angular/编译器-cli"包未正确安装。错误:

错误:找不到模块">@angular/编译器-cli" 在对象。

(C:\Users\profimedica**AppData**\Roamingpmode_modules\@angular\cliode_modules**@ngtools\webpack**\src\index.js:14:8) 在Module._compile(模块.js:570:32)

忘记它使用全局包。 我尝试在本地安装它:

npm 安装 @angular/cli@1.3.1

npm install @ngtools/webpack@1.6.1

它将询问缺少的包(如果有):

npm WARN @ngtools/webpack@1.6.1 需要增强型 resolve@^3.1.0 的对等体,但没有安装任何对等体。

npm WARN @ngtools/webpack@1.6.1 需要对等 webpack@^2.2.0 || ^3.0.0,但没有安装任何对等体。

npm 警告 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:PROANGmaterialag-gridag-grid-angular-seedangular-cli> npm start
> ag-grid-cli@0.0.0 start C:PROANGmaterialag-gridag-grid-angular-vseedangular-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 @angular/compiler-cli --save"。

更新 angular-cli 后,我遇到了同样的错误,我通过在项目 dir 的调用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"
}

你需要更新你的package.json。
必须更改依赖项"打字稿"才能工作。
angular-cli:
@angular/cli:"1.0.0",
@angular/compiler-cli:"^4.0.0",打字稿:"~2.2.0">

最后一个工作依赖项 我更改了此参数并工作

我在 Linux 机器中创建新的全新安装

@angular/命令行界面:1.0.1 节点:6.10.2 操作系统: Linuxx64

在我创建新的角度 2 项目后

ng new angularhellword

项目创建成功,但当我执行命令时

ng serve

给我上面相同的错误,如下所示

"@angular/编译器-cli"软件包未正确安装。

请采取以下步骤以避免出现问题:

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

"npm install --save-dev @angular/cli@latest"

它对我有用,项目成功运行。

在我运行时安装 angular-cli 后,在新的 angular 4 安装上遇到了同样的问题

ng serve

我得到了同样的错误。我参考了存储库最新链接并将编译器、CLI 和内核更改为 4.0。它对我有用。

我已经通过运行npm i解决了这个问题

对我来说,问题是我已经使用 cli 创建了一个项目,但在尝试提供它之前没有更改为该目录

检查本地项目的"node_modules/@angular/cli"是否不是指向全局"node_modules..."的链接。删除本地文件夹(符号链接)并再次调用"npm install"。

在我的情况下,使用"--link-cli"参数进行错误的"ng new"调用。 在我看来,这个参数不会按预期工作,或者我不知道如何正确使用它。

我在使用较旧的 Angular 2 应用程序时遇到了此问题,并通过执行以下操作解决了它:

  1. 我用"ng serve DempApp"创建了一个新的Angular 2项目。
  2. 我制作了旧package.json文件的备份副本。
  3. 然后,我将旧的package.json文件与新文件进行了比较。我更换了新的 来自新包.json的"依赖"和"devDependencies"块。
  4. 然后,我编辑了旧的angular-cli.json文件,并将"环境"块替换为以下内容,这是我从新应用程序中复制的:

    "环境源": "环境/环境.ts", "环境":{ "dev": "environment/environment.ts", "prod": "environment/environment.prod.ts" }

问题标题中的此错误是由于复制现有项目并尝试运行 ng serve 而发生的。 我尝试了上面的所有内容,只需尝试ng new YourApp,然后尝试下面的package.json - 专注于角度编译器版本,在我的机器上解决的错误下方。

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

使用npm install -g @angular/cli 命令安装 cli。

最新更新