找不到模块“@ angular-devkit / build-angular”

问题描述 投票:195回答:28

更新到Angular 6.0.1后,我在ng serve上收到以下错误:

Could not find module "@angular-devkit/build-angular" from "/home/Projects/myProjectName".
Error: Could not find module "@angular-devkit/build-angular" from "/home/Projects/myProjectName".
    at Object.resolve (/home/Projects/myProjectName/node_modules/@angular-devkit/core/node/resolve.js:141:11)
    at Observable.rxjs_1.Observable [as _subscribe] (/home/Projects/myProjectName/node_modules/@angular-devkit/architect/src/architect.js:132:40)

ng update说一切都井然有序。删除node_modules文件夹和新的npm install安装也没有帮助。

我的项目基于[ng2-admin(Angular 4版本)]。(qazxsw poi)这是我的package.json依赖项:

https://github.com/akveo/ngx-admin

和我的angular.json:

 "dependencies": {
    "@angular/animations": "^6.0.1",
    "@angular/common": "^6.0.1",
    "@angular/compiler": "^6.0.1",
    "@angular/core": "^6.0.1",
    "@angular/forms": "^6.0.1",
    "@angular/http": "^6.0.1",
    "@angular/platform-browser": "^6.0.1",
    "@angular/platform-browser-dynamic": "^6.0.1",
    "@angular/platform-server": "^6.0.1",
    "@angular/router": "^6.0.1",
    "@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.26",
    "@ngx-translate/core": "^10.0.1",
    "@ngx-translate/http-loader": "^3.0.1",
    "amcharts3": "github:amcharts/amcharts3",
    "ammap3": "github:amcharts/ammap3",
    "angular-table": "^1.0.4",
    "angular2-csv": "^0.2.5",
    "angular2-datatable": "0.6.0",
    "animate.css": "3.5.2",
    "bootstrap": "4.0.0-alpha.6",
    "bower": "^1.8.4",
    "chart.js": "1.1.1",
    "chartist": "0.10.1",
    "chroma-js": "1.3.3",
    "ckeditor": "4.6.2",
    "core-js": "2.4.1",
    "easy-pie-chart": "2.1.7",
    "font-awesome": "4.7.0",
    "fullcalendar": "3.3.1",
    "google-maps": "3.2.1",
    "ionicons": "2.0.1",
    "jquery": "3.2.1",
    "jquery-slimscroll": "1.3.8",
    "leaflet": "0.7.7",
    "leaflet-map": "0.2.1",
    "lodash": "4.17.4",
    "ng2-ckeditor": "1.1.6",
    "ng2-completer": "^1.6.3",
    "ng2-handsontable": "^2.1.0-rc.3",
    "ng2-slim-loading-bar": "^4.0.0",
    "ng2-smart-table": "^1.0.3",
    "ng2-tree": "2.0.0-alpha.5",
    "ngx-uploader": "4.2.4",
    "normalize.css": "6.0.0",
    "roboto-fontface": "0.7.0",
    "rxjs": "^6.1.0",
    "rxjs-compat": "^6.1.0",
    "zone.js": "0.8.26"
  },
  "devDependencies": {
    "@angular/cli": "^6.0.1",
    "@angular/compiler-cli": "^6.0.1",
    "@types/fullcalendar": "2.7.40",
    "@types/jasmine": "2.5.38",
    "@types/jquery": "2.0.41",
    "@types/jquery.slimscroll": "1.3.30",
    "@types/lodash": "4.14.61",
    "@types/node": "6.0.69",
    "codelyzer": "3.0.1",
    "gh-pages": "0.12.0",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "3.2.0",
    "karma": "1.4.1",
    "karma-chrome-launcher": "2.0.0",
    "karma-cli": "1.0.1",
    "karma-coverage-istanbul-reporter": "0.2.0",
    "karma-jasmine": "1.1.0",
    "karma-jasmine-html-reporter": "0.2.2",
    "npm-run-all": "4.0.2",
    "protractor": "5.1.0",
    "rimraf": "2.6.1",
    "standard-changelog": "1.0.1",
    "stylelint": "7.10.1",
    "ts-node": "2.1.2",
    "tslint": "5.2.0",
    "tslint-eslint-rules": "4.0.0",
    "tslint-language-service": "0.9.6",
    "typescript": "^2.7.2",
    "typogr": "0.6.6",
    "underscore": "1.8.3",
    "wintersmith": "2.2.5",
    "wintersmith-sassy": "1.1.0"
  }
angular angular-cli angular6 angular-cli-v6
28个回答
344
投票

{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "ng2-admin": { "root": "", "sourceRoot": "src", "projectType": "application", "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { "outputPath": "dist", "index": "src/index.html", "main": "src/main.ts", "tsConfig": "src/tsconfig.app.json", "polyfills": "src/polyfills.ts", "assets": [ "src/assets", "src/favicon.ico" ], "styles": [ "node_modules/roboto-fontface/css/roboto/sass/roboto-fontface.scss", "node_modules/normalize.css/normalize.css", "node_modules/font-awesome/scss/font-awesome.scss", "node_modules/ionicons/scss/ionicons.scss", "node_modules/bootstrap/scss/bootstrap.scss", "node_modules/leaflet/dist/leaflet.css", "node_modules/chartist/dist/chartist.css", "node_modules/fullcalendar/dist/fullcalendar.css", "node_modules/handsontable/dist/handsontable.full.css", "node_modules/ng2-slim-loading-bar/style.css", "src/app/theme/theme.scss", "src/styles.scss" ], "scripts": [ "node_modules/jquery/dist/jquery.js", "node_modules/easy-pie-chart/dist/jquery.easypiechart.js", "node_modules/jquery-slimscroll/jquery.slimscroll.js", "node_modules/tether/dist/js/tether.js", "node_modules/bootstrap/dist/js/bootstrap.js", "node_modules/handsontable/dist/handsontable.full.js", "node_modules/chroma-js/chroma.js" ] }, "configurations": { "production": { "optimization": true, "outputHashing": "all", "sourceMap": false, "extractCss": true, "namedChunks": false, "aot": true, "extractLicenses": true, "vendorChunk": false, "buildOptimizer": true, "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" } ] } } }, "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { "browserTarget": "ng2-admin:build" }, "configurations": { "production": { "browserTarget": "ng2-admin:build:production" } } }, "extract-i18n": { "builder": "@angular-devkit/build-angular:extract-i18n", "options": { "browserTarget": "ng2-admin:build" } }, "test": { "builder": "@angular-devkit/build-angular:karma", "options": { "main": "src/test.ts", "karmaConfig": "./karma.conf.js", "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.spec.json", "scripts": [ "node_modules/jquery/dist/jquery.js", "node_modules/easy-pie-chart/dist/jquery.easypiechart.js", "node_modules/jquery-slimscroll/jquery.slimscroll.js", "node_modules/tether/dist/js/tether.js", "node_modules/bootstrap/dist/js/bootstrap.js", "node_modules/handsontable/dist/handsontable.full.js", "node_modules/chroma-js/chroma.js" ], "styles": [ "node_modules/roboto-fontface/css/roboto/sass/roboto-fontface.scss", "node_modules/normalize.css/normalize.css", "node_modules/font-awesome/scss/font-awesome.scss", "node_modules/ionicons/scss/ionicons.scss", "node_modules/bootstrap/scss/bootstrap.scss", "node_modules/leaflet/dist/leaflet.css", "node_modules/chartist/dist/chartist.css", "node_modules/fullcalendar/dist/fullcalendar.css", "node_modules/handsontable/dist/handsontable.full.css", "node_modules/ng2-slim-loading-bar/style.css", "src/app/theme/theme.scss", "src/styles.scss" ], "assets": [ "src/assets", "src/favicon.ico" ] } }, "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { "tsConfig": [ "src/tsconfig.app.json", "src/tsconfig.spec.json" ], "exclude": [] } } } }, "ng2-admin-e2e": { "root": "", "sourceRoot": "", "projectType": "application", "architect": { "e2e": { "builder": "@angular-devkit/build-angular:protractor", "options": { "protractorConfig": "./protractor.conf.js", "devServerTarget": "ng2-admin:serve" } }, "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { "tsConfig": [ "e2e/tsconfig.e2e.json" ], "exclude": [] } } } } }, "defaultProject": "ng2-admin", "schematics": { "@schematics/angular:component": { "prefix": "app", "styleext": "scss" }, "@schematics/angular:directive": { "prefix": "app" } } } 安装为dev依赖项。这个包是在Angular 6.0中新引入的

@angular-devkit/build-angular

要么,

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


2
投票

当我们运行像npm audit这样的命令时,它使用@ angular / cli的本地版本。所以首先在本地安装@ angular / cli的最新版本(不带-g标志)。然后使用ng serve命令更新cli。我应该解决这个问题。谢谢

如果您要更新角度项目ng update @angular/cli,此链接可能会对您有所帮助


2
投票

我对Angular 7也有同样的问题。刚刚执行了以下命令,错误就解决了。

https://update.angular.io/

2
投票

先试试这个

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

如果丢失的包再次出现错误,请尝试

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

2
投票

以下命令有效:

npm install

- 你可能会看到消息“我们分析了你的package.json,一切似乎都井然有序。干得好!”

npm install
ng update

然后尝试开发构建

npm update

我得到了类型脚本的错误,降级为

ng build 

prod build的所有成功。

以下是工作组合

npm install typescript@">=3.1.1 <3.2

ng build --prod 

2
投票

将节点从v9升级到v10后,我今天遇到了同样的问题。 我的环境是由docker设置的,我不得不从我的DockerFile中删除这个命令:

ng --version

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.11.0
@angular-devkit/build-angular     0.11.0
@angular-devkit/build-optimizer   0.11.0
@angular-devkit/build-webpack     0.11.0
@angular-devkit/core              7.1.0
@angular-devkit/schematics        7.1.0
@angular/cli                      7.1.0
@ngtools/webpack                  7.1.0
@schematics/angular               7.1.0
@schematics/update                0.11.0
rxjs                              6.3.3
typescript                        3.1.6
webpack                           4.23.1

它会为安装节点的目录创建一个符号链接。 我猜其中的npm link @angular/cli 模块与我项目的node_modules目录中的angular/cli模块版本不同,这会导致问题。


1
投票

试试这个。它对我有用

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@next

1
投票

这对我有用,提交然后:

ng update @angular/cli @angular/core
npm install --save-dev @angular/cli@latest

0
投票

运行以下为我工作npm audit fix --force


0
投票

在你的dev依赖项下添加@angular-devkit/build-angular它会起作用,或者你也可以执行

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


0
投票

删除package-lock.json并再次执行npm install。它应该解决这个问题。

**当您使用ng new创建Angular 6应用程序并且在安装其他依赖项后发现此错误时,此修复程序更合适。


72
投票
yarn add @angular-devkit/build-angular --dev

它就像一个魅力。


0
投票

就我而言,问题是因为缺少依赖性。为什么缺少依赖,因为我忘了打电话:

npm安装

在调用上面的命令之后,所有必需的依赖项都加载到node_modules中,这不再是问题


0
投票

Solution

在CLI上执行以下命令:

  • npm安装

0
投票
  • 删除node_modules。
  • 使用'npm cache clean --verify'清除缓存。
  • 然后再次安装npm。

对我来说就像一个魅力。


0
投票

当角度项目未完全配置时,通常会发生此错误。

这会奏效

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

npm install

0
投票

不幸的是,所提供的解决方案都不适合我,但grepit的答案激励我做以下步骤。我通过我的操作系统(Windows 10)卸载了node.js并再次安装。然后安装了Angular CLI。然后创建了一个新项目,并将我的旧项目的src文件复制到这个新项目中,错误消失了。

以下是说明:

  1. 通过您的操作系统卸载node.js并重新安装
  2. npm install -g @angular/cli
  3. 将您的项目重命名为YOUR_PROJECT_NAME.old
  4. ng new YOUR_PROJECT_NAME
  5. 运行此hello world项目(ng serve)以确保您不会收到错误。
  6. xcopy YOUR_PROJECT_NAME.old\src\*.* YOUR_PROJECT_NAME\src /s 这是Windows版本的副本,根据您自己的操作系统进行更改。

0
投票
npm install --save-dev @angular-devkit/build-angular@latest

为我解决了。


-1
投票

我从2天开始面临同样的问题。

ng -v :6.0.8
node -v :8.11.2
npm -v :6.1.0

确保您位于安装angular.json的文件夹中。进入并键入ng serve。如果问题仍然存在,那么您只在node_modules中安装了依赖项。键入以下内容,它将起作用:

npm i --only=dev

-1
投票

npm版本是旧的,尝试运行以下命令:

npm i npm@latest -g

-1
投票

简单解决方案

点击下方仅表示修复此错误

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

32
投票

角度6及以上

我的工作解决方案是

npm update

npm install

最后

ng update


10
投票

需要显式获取devDependencies。

npm update

6
投票

如果以下命令不起作用,

npm i --only=dev

然后移动到项目文件夹并运行此命令:

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

5
投票

npm install --save @angular-devkit/build-angular 只需键入npm install并运行。然后项目将运行没有错误。或者你可以使用npm install


5
投票

所有上述答案都是正确的,但它们对我不起作用。我能够完成这项工作的唯一方法是按照步骤/命令:

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

3
投票

一分钟前我就遇到了同样的问题。我的项目是使用v 1.6.0 of angular-cli生成的。

npm uninstall -g @angular/[email protected]
npm cache clean --force
npm install -g @angular/cli@latest
npm install node-sass -g
ng new MY_PROJECT_NAME
cp -r from_my_old_project to_new_MY_PROJECT_NAME

我希望我的帮助是有效的ツ


2
投票

试试这个吧。

1. npm update -g @angular/cli

2. editing my package.json changing the line
    "@angular/cli": "1.6.0",
      to
    "@angular/cli": "^1.6.0",

3. npm update

运行npm install npm update if it's shows something like this. 修复它们,或npm audit fix了解详情

去做!

© www.soinside.com 2019 - 2024. All rights reserved.