【问题标题】:Can not find module “@angular-devkit/build-angular”找不到模块“@angular-devkit/build-angular”
【发布时间】:2018-10-28 07:48:19
【问题描述】:

使用 npm,我按照 Angular CLI 快速入门页面上的入门说明进行操作。

Angular CLI Quickstart

在创建并进入我的新项目“前端”后运行 ng serve --open 出现此错误:

Could not find module "@angular-devkit/build-angular" from "C:\\Users\\Brandon\\project-name\\frontend".
Error: Could not find module "@angular-devkit/build-angular" from "C:\\Users\\Brandon\\project-name\\frontend".
 at Object.resolve (C:\Users\Brandon\project-name\node_modules\@angular-devkit\core\node\resolve.js:141:11)
 at Observable.rxjs_1.Observable [as _subscribe] (C:\Users\Brandon\project-name\node_modules\@angular-devkit\architect\src\architect.js:132:40)

我已经尝试过与我类似的另一个问题的建议,但没有奏效。答案是运行npm install --save-dev @angular-devkit/build-angular

Similar Question

我还删除了模块,清除了缓存,然后进行了安装,但也没有用。

package.json:

{
 "name": "frontend",
 "version": "0.0.0",
 "scripts": {
   "ng": "ng",
   "start": "ng serve",
   "build": "ng build",
   "test": "ng test",
   "lint": "ng lint",
   "e2e": "ng e2e"
 },
"private": true,
"dependencies": {
  "@angular/animations": "^6.0.2",
  "@angular/common": "^6.0.2",
  "@angular/compiler": "^6.0.2",
  "@angular/core": "^6.0.2",
  "@angular/forms": "^6.0.2",
  "@angular/http": "^6.0.2",
  "@angular/platform-browser": "^6.0.2",
  "@angular/platform-browser-dynamic": "^6.0.2",
  "@angular/router": "^6.0.2",
  "core-js": "^2.5.4",
  "rxjs": "^6.0.0",
  "zone.js": "^0.8.26"
 },
"devDependencies": {
  "@angular/compiler-cli": "^6.0.2",
  "@angular-devkit/build-angular": "~0.6.3",
  "typescript": "~2.7.2",
  "@angular/cli": "^6.0.3",
  "@angular/language-service": "^6.0.2",
  "@types/jasmine": "~2.8.6",
  "@types/jasminewd2": "~2.0.3",
  "@types/node": "~8.9.4",
  "codelyzer": "~4.2.1",
  "jasmine-core": "~2.99.1",
  "jasmine-spec-reporter": "~4.2.1",
  "karma": "~1.7.1",
  "karma-chrome-launcher": "~2.2.0",
  "karma-coverage-istanbul-reporter": "~1.4.2",
  "karma-jasmine": "~1.1.1",
  "karma-jasmine-html-reporter": "^0.2.2",
  "protractor": "~5.3.0",
  "ts-node": "~5.0.1",
  "tslint": "~5.9.1"
 }
}

angular.json:

 {
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "frontend": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "prefix": "app",
      "schematics": {},
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/frontend",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.app.json",
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/styles.css"
            ],
            "scripts": []
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "frontend:build"
          },
          "configurations": {
            "production": {
              "browserTarget": "frontend:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "frontend:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "src/karma.conf.js",
            "styles": [
              "src/styles.css"
            ],
            "scripts": [],
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "src/tsconfig.app.json",
              "src/tsconfig.spec.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    },
    "frontend-e2e": {
      "root": "e2e/",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "e2e/protractor.conf.js",
            "devServerTarget": "frontend:serve"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": "e2e/tsconfig.e2e.json",
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "frontend"
}

【问题讨论】:

  • 有些事情要经历,看看是否有帮助:github.com/angular/angular-cli/issues/10661
  • 在继续之前,我会删除锁定文件和rm -r node_modules 并重新安装npm i。之后我会关注这个问题以提供更多帮助。

标签: node.js angular npm-install package.json angular6


【解决方案1】:

另一个问题可能与您的开发依赖项有关。 请检查它们是否已正确安装(检查它们是否在 node_modules 文件夹中可用)

如果没有,那么快速解决方法是:

npm i --only=dev

或者检查你的 npm 设置是如何与 prod 相关的:

npm config get production

如果它们设置为 true - 将它们更改为 false:

npm config set -g production false

并设置一个新的 Angular 项目。

在这里找到提示: https://github.com/angular/angular-cli/issues/10661 (ken107 和 lichunbin814)

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    在创建并进入我的新项目“前端”后运行 ng serve --open 出现此错误:

    创建项目后,需要运行

    npm install 
    

    安装 package.json 中列出的所有依赖项

    【讨论】:

      【解决方案3】:

      一分钟前我还在为同样的问题苦苦挣扎。我的项目是使用 angular-cli 的 v 1.6.0 生成的。

      npm 更新 -g @angular/cli 编辑我的 package.json 更改行 "@angular/cli": "1.6.0", 到 "@angular/cli": "^1.6.0", npm 更新 成功了。

      【讨论】:

        【解决方案4】:

        我刚刚遇到这个问题并修复了它。我认为这个问题的根本原因是 ng 和当前版本的 node.js (10.6.0) 和随附的 npm 不同步。我已经安装了node.js(8.11.3)的LTS版本,问题就消失了。

        【讨论】:

          【解决方案5】:

          D:project/contactlist npm install 然后 D:project/contactlist ng 新客户

          D:project/contactlist/client ng serve

          这对我有用,出于某种原因,我不得不删除客户端文件夹并从联系人列表文件夹启动 npm install。我尝试了所有方法,甚至清除了缓存,终于成功了。

          【讨论】:

            【解决方案6】:

            使用

            npm update

            或运行

            npm install --save-dev @angular-devkit/build-angular

            【讨论】:

              【解决方案7】:

              我遇到了同样的问题,因为它没有安装

              @angular-devkit/build-angular

              对我有用的答案是:

              npm i --only=dev

              【讨论】:

                【解决方案8】:

                我查看了 node_modules 内部,显然只安装了依赖项,而不是 devDependencies。使用新的 NPM,我们需要显式获取 devDependencies:

                npm i --only=dev
                

                如果您只想安装 devkit:

                npm install @angular-devkit/build-angular
                

                与 - ken107(github) 的联合创意

                【讨论】:

                  【解决方案9】:
                  npm install --save-dev @angular-devkit/build-angular
                  

                  它是安装 @angular-devkit/build-angular 作为开发依赖。这个包是 Angular 6.0 中新引入的

                  【讨论】:

                  • 您应该添加 this 的作用以及它与 OP 的不同之处(--save-dev,非全局)。
                  • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
                  • @Learner 试试这个 yarn add @angular-devkit/build-angular --dev
                  • @kashif:伙计,我不知道纱线到底是什么。此命令不在 cmd 中运行
                  【解决方案10】:

                  如果您使用的是 Angular 版本 8,请运行以下命令来解决此问题。

                  ng update @angular/cli @angular/core
                  

                  【讨论】:

                  • 在问题中使用代码时,请将所有代码放入代码块中:通常,所有代码行缩进4个空格,或者在代码块周围加上3个反引号(```)。对于与非代码位于同一行的内联代码,请在代码的每一侧使用一个反引号 (`) 将代码括起来。
                  【解决方案11】:

                  这对我有用:在命令行中输入 npm audit fix。之后我又可以使用ng serve --open了。

                  【讨论】:

                  • @Learner 只是分享在类似情况下对我有用的方法。当时其他答案对我不起作用,因此可能对某些人有所帮助。我绝不会声称它总能解决此错误消息的问题。
                  • 这也对我有用。 npm audit fix --force 作为最后的手段
                  【解决方案12】:

                  以上所有方法都不起作用...可能是 NPM 的一些问题

                  Yarn 
                  

                  很有帮助..

                  Yarn Install
                  

                  【讨论】:

                    【解决方案13】:

                    如果您要从 angular 7 更新到 angular 8,请执行此操作

                    ng update @angular/cli @angular/core
                    

                    更多信息请阅读这里https://github.com/just-jeb/angular-builders/blob/master/MIGRATION.MD

                    【讨论】:

                      【解决方案14】:

                      运行下面的命令来解决它。每当您拉取一个新项目时,很少有依赖项不会添加到工作目录中。运行下面的命令来解决它

                      npm install --save-dev @angular-devkit/build-angular

                      【讨论】:

                        【解决方案15】:

                        我尝试了上面列出的所有可能的命令,但没有一个对我有用, 检查 Package.json 是否包含“@angular-devkit/build-angular”,如果不只是使用安装它(在我的情况下,版本 0.803.19 有效)

                        npm i @angular-devkit/build-angular@0.803.19

                        或在npm网站存储库中结帐以进行版本选择

                        【讨论】:

                          【解决方案16】:

                          尝试安装 angular-devkit 来构建 Angular 项目

                          npm install --save-dev @angular-devkit/build-angular
                          

                          【讨论】:

                            猜你喜欢
                            • 2021-05-24
                            • 1970-01-01
                            • 1970-01-01
                            • 2018-07-01
                            • 1970-01-01
                            • 2019-07-13
                            • 2021-09-16
                            • 2022-01-05
                            相关资源
                            最近更新 更多