【问题标题】:The "@angular/compiler-cli" package was not properly installed“@angular/compiler-cli”包未正确安装
【发布时间】:2017-09-07 03:33:21
【问题描述】:

使用 Angular CLI 1.0(来自 beta.31)将我的项目升级到 Angular 4.0(来自 2.4),在遵循 migration guide 之后出现以下错误:

> ng build --prod

The "@angular/compiler-cli" package was not properly installed.
Error: The "@angular/compiler-cli" package was not properly installed.
    at Object.<anonymous> (/home/jan/src/fm-repos/fm-ui/node_modules/@ngtools/webpack/src/index.js:14:11)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/jan/src/fm-repos/fm-ui/node_modules/@angular/cli/tasks/eject.js:10:19)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)

迁移后我的角度依赖:

"@angular/animations": "^4.0.0",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/compiler-cli": "^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",
"@angular/cli": "1.0.0",
"@angular/material": "2.0.0-beta.3",

注意:这个类似的问题是关于 Angular 2 项目:Angular2 CLI error "@angular/compiler-cli" package was not properly installed

【问题讨论】:

  • 您的@angular/compiler-cli 是否设置为版本4?匹配其他角度依赖项?您是否尝试过删除项目的 node_modules 文件夹然后删除 npm-install
  • 我刚刚在本地尝试过,如果我将 typescript 降级到低于 2.1.0 的版本,我可以重现此错误。请更新到 typescript 2.2.0,您的问题将得到解决。
  • 确实,@AhmedMusallam;在更改以下答案后,一切正常! :D
  • 啊好吧,没意识到你回答了你自己的问题 :) 请尽可能接受,我知道你必须等待 24 小时之类的 :)

标签: angular angular-cli


【解决方案1】:

请尝试以下步骤: 清理

remove node_modules from your project
remove any angular-cli and @angular/cli references from package.json if it's there
Uninstall angular-cli and @angular/cli globally: npm uninstall -g angular-cli @angular/cli

重新安装

Install @angular/cli globally: npm install -g @angular/cli
Install @angular/cli in your project: npm install --save-dev @angular/cli

【讨论】:

    【解决方案2】:

    打开 package.json 并将 @angular/cli 移动到以下依赖项下:

    "dependencies": {
        "@angular/animations": "^4.0.0",
        "@angular/common": "^4.0.0",
        "@angular/compiler": "^4.0.0",
        "@angular/cli": "1.2.1",
        "@angular/compiler-cli": "^4.3.1",
        "@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",
        "zone.js": "^0.8.4"
      },
    

    然后在命令提示符下进入项目文件夹并运行命令“npm install”。它将加载所有必要的依赖项。

    【讨论】:

      【解决方案3】:

      这就像魔术一样工作

      npm install --save-dev del

      【讨论】:

        【解决方案4】:

        我刚刚在 package.json 文件的 devDependencies 中从 "@angular/compiler-cli": "^4.0.0" 更改为 "@angular/compiler-cli": "^4.3.2"。

        它对我有用

        【讨论】:

          【解决方案5】:

          我尝试了所有方法,唯一对我有用的是一个简单的 npm 安装

          【讨论】:

            【解决方案6】:

            对我来说,上述解决方案均无效,但全局更新 npm 和 typescript 有效。

            要更新,请运行以下命令:

            npm update
            
            npm update -g typescript
            

            【讨论】:

              【解决方案7】:
              npm uninstall -g angular-cli
              rm -rf ./node_modules
              rm package-lock.json
              npm install --save-dev @angular/cli@latest
              

              如果安装最新版本仍然给您一个错误,您可以再次运行卸载过程并在验证 angular-cli 存储库中的最新版本后手动输入 angular-cli 的版本。我的 package.json 列出了 ^1.3.0,但是刚刚发布了一个 beta 版本,当我手动将其更改为

              "@angular/cli": "^1.3.0-beta.0"    
              npm i
              

              安装成功

              【讨论】:

                【解决方案8】:

                我在 Linux 机器上创建新的全新安装 _ _ ____ _ _ / \ _ __ __ _ _ _| | __ _ _ __ / | | | | / △ \ | ' \ / _| | | | |/ _ | '| | | | | | | / \| | | | (| | || | | (| | | | || | | | // __| ||__, |__,||__,|| ____|_____|| |/ @角/cli:1.0.1 节点:6.10.2 操作系统:linux x64

                在我使用

                创建新的 angular 2 项目之后

                ng 新的 angularhellword

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

                ng 服务

                给我上面同样的错误

                “@angular/compiler-cli”包没有正确安装。

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

                “npm 卸载 --save-dev angular-cli”

                “npm install --save-dev @angular/cli@latest”

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

                【讨论】:

                • 这是迄今为止解决这个问题最简单的方法,而且很有效!
                【解决方案9】:

                确保您的 package.json 中有 TypeScript 2.2,并确保您的 tsconfig 已正确更新。

                详情

                安装 Angular CLI 1.0 后,创建一个新的虚拟项目:

                ng new dummy
                

                然后删除node_modules 目录:

                rm -rf ./dummy/node_modules
                rm -rf ./myproject/node_modules
                

                diffdummy项目和你的项目之间的变化:

                diff -bur ./dummy/ ./myproject/
                

                在众多更改中,对我来说解决此错误所需的关键更改是 TypeScript 和 tsconfig 更改:

                package.json

                "typescript": "~2.0.3" ==> "typescript": "~2.2.0"
                

                .angular-cli.json

                变化:

                "tsconfig": "tsconfig.json"
                

                到:

                "tsconfig": "tsconfig.app.json",
                "testTsconfig": "tsconfig.spec.json",
                

                并从您的 dummy 项目中添加这些新文件,然后安装您的软件包:

                npm install
                

                【讨论】:

                • 感谢伙伴,对虚拟项目很有帮助
                【解决方案10】:

                当我设置 Angular 2 时,我在运行 OS 10.12.4 的 Mac 上遇到了同样的错误消息。

                我在两台不同的 Windows 10 机器上也遇到了类似的问题。 windows机器收到一个错误,指出,

                    Node_modules appears empty, you may need to run `npm install`.
                

                在这两种情况下,我都可以通过在项目目录中运行 npm install 来解决问题。

                我进入命令行/终端,然后进入存储项目的目录,例如:

                    c:\Users\myname\projectname>
                

                对于 Windows,我使用 npm install 命令,在 Mac 中我使用 sudo npm install

                在这两种情况下,它都解决了问题。

                【讨论】:

                • 欢迎来到 SO,吉姆。看起来您答案的第二部分“两台不同的 Windows 10 机器上的类似问题”是一个单独的问题(尽管具有相同的解决方案:npm install),这应该是一个单独的 SO 问题。
                猜你喜欢
                • 1970-01-01
                • 2017-08-13
                • 1970-01-01
                • 2017-11-22
                • 2018-02-04
                • 2021-08-07
                • 2018-04-11
                • 2017-01-25
                • 2018-06-13
                相关资源
                最近更新 更多