Angular2 CLI错误“@ angular / compiler-cli”软件包未正确安装

cea 发布于 2019-10-05 angular 最后更新 2019-10-05 08:38 111 浏览

我正在开发一个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)
已邀请:

iipsa

赞同来自:

我已经尝试了这些答案中的所有内容,唯一对我有用的是:

Step 1: npm install -g @angular/cli@latest
Step 2: ng new name-of-project (ignore if project already created)
Step 3: cd name-of-project (ignore if project already created)
Step 4: npm install @angular/cli --save-dev
Step 5: npm install @angular/compiler-cli --save-dev
Step 6: ng serve
在两个不同的环境中测试了这些步骤 在项目文件夹里面,输入“npm install”并等待安装完成,这个修复程序对我来说很好。

weos

赞同来自:

检查您的本地项目的'node_modules / @ angular / cli'不是指向全局'node_modules ...'的链接。删除本地文件夹(符号链接)并再次调用'npm install'。 在我的情况下,使用'--link-cli'参数进行“新的”调用是错误的。 在我看来,这个参数不会按预期工作或我不知道如何正确使用它。

nrerum

赞同来自:

如果升级到Angular 4并且不将Typescript更新为2.1.0,也会发生同样的错误。

qnobis

赞同来自:

我带了10个小时的调查来找到这个:

npm start
让您比较调查方法的长篇故事: 多次尝试失败后,我重新安装了节点和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文件中,例如使用新创建的项目中的相同文件,它可以正常工作:
{
  "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/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开始

uaut

赞同来自:

版本存在问题

"@angular/cli": "1.0.0-rc.4"
尝试安装较旧的
"@angular/cli": "1.0.0-rc.2"

dquis

赞同来自:

这绝对是糟透了。为了让我解决它,我不得不做一些事情...... 为了解决@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 该死。 所以我接受了这个建议from the angular-cli github issues,这是为了升级我的打字稿。所以,把我的打字稿版本扔到package.json^2.0.0,我接受了熟悉且无挫折的绿色ng serve输出。最后。 我希望这可以帮助别人。

nquae

赞同来自:

使用打印机将打字稿升级到最新版本 npm install -g typescript@latest 找到已安装软件包的版本 tsc -v 打开package.json并使用最新版本更改typescript版本并重新启动它。

jfugit

赞同来自:

我有一个较旧的Angular 2应用程序的问题,并通过执行以下操作解决了它:

  1. 我使用“ng serve DempApp”创建了一个新的Angular 2项目
  2. 我制作了旧的package.json文件的备份副本。
  3. 然后我将旧的package.json文件与新文件进行了比较。我换了新的 来自新package.json的“dependencies”和“devDependencies”块。
  4. 然后我编辑了旧的angular-cli.json文件并用以下内容替换了“environment”块,我从新应用程序中复制了该块: “environmentSource”:“environment / environment.ts”, “环境”:{   “dev”:“environment / environment.ts”,   “prod”:“environments / environment.prod.ts” }

laut

赞同来自:

在我运行时安装angular-cli后,在新的角度4安装上遇到了同样的问题 ng serve 我得到了同样的错误。我引用了repository uptodate link并将编译器,cli和core更改为4.0。它对我有用。

wanimi

赞同来自:

在更新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"
}

gipsam

赞同来自:

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

emagni

赞同来自:

解决了 !!! 这个错误与它声称的@ 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”软件包。错误: 错误:找不到模块'@ angular / compiler-cli'     在对象。 (C:\用户\ profimedica ** **应用程序数据\漫游\ NPM \ node_modules \ @angular \ CLI \ node_modules ** @ ngtools \的WebPack ** \ SRC \ index.js:14:8)     在Module._compile(module.js:570:32) 否认它使用全局包。 我尝试安装它localy:
npm install @angular/cli@1.3.1 npm install @ngtools/webpack@1.6.1
它会要求丢失包裹,如果有的话: npm WARN @ ngtools / webpack @ 1.6.1需要peer-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 **

dsed

赞同来自:

我在Linux机器上创建了新的全新安装 @ angular / cli:1.0.1 节点:6.10.2 os:linux x64 在我使用后创建新的angular 2项目之后 ng new angularhellword 项目成功创建但是当我执行命令时 ng serve 给我上面的错误如下所示

The "@angular/compiler-cli" package was not properly installed.
请采取以下步骤以避免问题: "npm uninstall --save-dev angular-cli" "npm install --save-dev @angular/cli@latest" 它适用于我,项目运行成功。

yhic

赞同来自:

你需要更新你的package.json。点击 必须改变依赖性“打字稿”才能发挥作用 最初的角度cli的工作dependecies:
@角/ CLI: “1.0.0”,结果 @ angular / compiler-cli:“^ 4.0.0”,
打字稿:“~2.2.0”
我改变了这些参数并且有效

funde

赞同来自:

我有同样的问题。重新启动我的电脑,因为Windows ..当我意识到我还没有在项目上运行npm install时仍然看到相同的错误消息,所以我这样做了,它解决了问题。 全局角度CLI - 版本1.0.0-rc.4 本地依赖:

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

inisi

赞同来自:

问题标题中出现此错误是由于现有项目的副本并尝试运行ng服务。 我尝试了上面的所有内容,只需尝试新的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"
  }
}

qenim

赞同来自:

我想你需要运行“npm install @ angular / compiler-cli --save”。

qquod

赞同来自:

我有同样的问题。我按照npm @angular/cli page中的“更新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
这对我有用。

kodit

赞同来自:

我已经尝试了这个问题中的所有修复。我也在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。 (即未定义)。 所以看起来这是一个角色团队必须解决的错误。

mest

赞同来自:

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

west

赞同来自:

我在Mac上尝试了很多东西,直到我得到它:

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

funde

赞同来自:

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