【问题标题】:Versions of @angular/compiler-cli and typescript could not be determined无法确定 @angular/compiler-cli 和 typescript 的版本
【发布时间】:2018-04-21 11:43:44
【问题描述】:

我已经安装了 Angular/cli,然后尝试运行命令 ng serve 然后抛出下面的错误。我已经尝试了很多东西,比如卸载 angular/cli、npm 缓存清理等

@angular/compiler-cli 和 typescript 的版本不能 决定。最常见的原因是 npm 安装损坏。

请确保您的 package.json 包含 @angular/compiler-cli 和 devDependencies 中的打字稿,然后删除 node_modules 和 package-lock.json(如果有的话)并再次运行 npm install。

【问题讨论】:

  • 你让它工作到现在吗?
  • 是的,我尝试了更改版本的解决方案,然后它对我有用。

标签: angular-cli


【解决方案1】:

同时检查这些依赖package.json:

...
"@angular/cli": "x.x.x",
"@angular/compiler": "^y.y.y",
"@angular/compiler-cli": "^z.z.z",
"typescript": "^t.t.t"
...

希望这会有所帮助...

【讨论】:

    【解决方案2】:

    我在 Jenkins 上安装 npm 依赖项时遇到了这个问题。我在 devDependencies 中有 @angular/compiler-cli,在依赖项中有 typescript,在环境中有 NODE_ENV=production

    我尝试了NODE_ENV=development npm install,它对我有用。

    更多详情请看:https://github.com/angular/angular-cli/issues/8407

    【讨论】:

      【解决方案3】:

      首先,为了防止,更新角度

      npm install -g @angular/cli
      

      其次,同样运行“npm install”,你必须安装开发依赖

      npm install --dev
      

      验证依赖没有错误

      ng --version
      

      【讨论】:

        【解决方案4】:

        实际上真正的问题在于 npm。

        如果下载为--legacy-bundling=true (默认情况下),那么您将遇到此问题。如果你看到 node_modules 文件夹,所有依赖的模块都会被嵌套。

        当你运行npm install 命令时你应该设置--legacy-bundling=false

        npm install --legacy-bundling=false
        

        现在,如果您看到 node_modules 文件夹,则不会嵌套任何模块。一切都会奏效。

        您可以使用以下命令设置 npm 默认行为,然后您不必每次都设置。

        npm set --legacy-bundling=false
        

        【讨论】:

          【解决方案5】:

          这可能是不隐式运行 devDependencies 的问题。

          尝试使用以下命令隐式运行它们。

          npm install --dev
          

          【讨论】:

          • 好的会检查这个。
          • install 不推荐使用--dev 选项。请改用--only=dev
          【解决方案6】:

          请运行命令

          npm --production=false install
          

          在您的终端中。 另请注意,执行此操作时您应该位于项目文件夹中。

          【讨论】:

            【解决方案7】:

            1。在项目文件夹中打开命令提示符。

            2。运行命令。

             npm install --only=dev
            

            【讨论】:

              【解决方案8】:

              在部署的情况下,添加preinstall 脚本来解决依赖关系中的这些差距是个好主意:

              "preinstall": "npm install @angular/cli @angular/compiler-cli typescript"
              

              【讨论】:

                【解决方案9】:

                逃避这个问题的通用方法

                1. 创建一个新项目

                  ng 新的角种子

                2. 将 package.json 中的所有默认依赖项和开发依赖项复制到当前正在使用的项目(角度、打字稿等)

                1. 然后删除 node_modules 并运行你当前项目的 install npm packages,或者你使用的任何方法来重新编译

                  rm -fr 节点模块 npm 安装

                注意:如果这没有为您提供最新版本,那么您可能在漫游数据中安装了全局工具 (在窗口探索浏览器类型%appdata%,并导航到npm观察)

                【讨论】:

                • 我发现这种通用方法对于解决许多 Angular 问题很有用,包括升级问题。
                【解决方案10】:

                默认情况下,npm install 将安装列为依赖项的所有模块。 使用 --production 标志,npm 不会安装 devDependencies 中列出的模块。 任何一个 我们可以去

                第一道

                用于编辑 package.json中的依赖部分,通过添加相关版本

                    "dependencies": {
                    /*existing part */
                
                     "@angular/cli": "1.5.2",
                    "@angular/compiler-cli": "^5.0.0",
                    "typescript": "^2.4.2"
                    }
                

                第二种方式

                要安装开发依赖项,npm --production=false install 即使在 NODE_ENV=production 的情况下也能正常工作。

                或者您可以运行 NODE_ENV=development npm install

                了解更多详情 click to know more

                【讨论】:

                  【解决方案11】:

                  您能否检查一下您的依赖项中的“@angular/compiler”是否与 angular/cli 版本兼容。

                  例如:

                    "devDependencies": {
                      "@angular/cli": "1.4.8",
                      "@angular/compiler-cli": "4.4.6",
                  

                  兼容:

                  "@angular/compiler": "4.4.6",
                  

                  【讨论】:

                  • 我遇到了同样的问题。我确保编译器和编译器-cli 在同一版本中,但问题仍然存在。
                  • 是的,我有 DevDependencies,如下所示 "devDependencies": { "@angular/cli": "1.4.2", "@angular/compiler-cli": "^4.2.4",
                  猜你喜欢
                  • 2018-11-28
                  • 1970-01-01
                  • 2021-09-11
                  • 2019-11-07
                  • 1970-01-01
                  • 2021-08-07
                  • 1970-01-01
                  • 2017-09-07
                  • 2018-02-04
                  相关资源
                  最近更新 更多