Не удалось найти модуль «@ angular-devkit / build-angular»

455

После обновления до 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 (версия Angular4) . Вот мои зависимости package.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.json:

{
  "$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"
    }
  }
}
ForestG
источник
Для Angular 8 Просто установите NCU npm пакет [$ npm i -g npm-check-updates] и обновите все проверки здесь для получения дополнительной информации freakyjolly.com/how-to-update-local-angular-cli-version
Code Spy

Ответы:

741

Установите @angular-devkit/build-angularкак dev dev. Этот пакет недавно представлен в Angular 6.0

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

или,

yarn add @angular-devkit/build-angular --dev

Ритвик Дей
источник
11
Я сталкиваюсь с той же проблемой. К сожалению, ваше решение не сработало для меня. Есть ли у вас другие предложения?
subzerodeluxe
Точно такая же ошибка? И файл конфигурации? они такие же как этот вопрос?
Ритвик Дей,
Да. Ну, я сделал еще несколько исследований по этому вопросу. Оказывается, он отлично работает на моем Mac Mini, так что, вероятно, он как-то связан с настройкой Node в Windows.
subzerodeluxe
2
Обновление до углового 7 - принятый ответ исправил ошибку (проголосовал), но не решил проблему обновления в целом. Это сделал stackoverflow.com/a/51592138/852806
HockeyJ
4
Спасибо за это. Я просто столкнулся с этой проблемой, пытаясь следовать учебному пособию по Angular: angular.io/guide/quickstart - похоже, кто-то забыл обновить документацию?
Дэн Кинг
168
npm update

Оно работало завораживающе.

Аджай Такур
источник
3
Я перешел к новой машине на полпути учебника по угловому туру над героями и вытащил половину выпечки из системы контроля версий. Это исправило это.
Heliac
После создания ветки в проекте моего коллеги я получил сообщение об ошибке. Это исправило это. Спасибо.
Мони
Ничего "наполовину испек" о том, чтобы не проверять в node modulesпапке. Это просто перестраивает ваши модули узлов на основе вашего package.json. Это совершенно нормально, когда вы проверяете новое решение.
Лиам
2
Это разрешит все зависимости :). +1
Хаммад Саджид
Там могут быть дополнительные пакеты, которые устарели. Запустите, ng update --allчтобы попытаться обновить все одновременно.
Одинокий
87

для угловых 6 и выше

Рабочее решение для меня было

npm install

ng update

и наконец

npm update

Мертвец
источник
Когда я делаю обновление ng, я получаю несколько сообщений о нескольких конкретных необходимых обновлениях. Имя Версия Команда для обновления --------------------------------------------- ----------------------------------- @ angular / core 4.4.7 -> 8.2.4 ng update @ angular / core @ ngrx / store 2.2.3 -> 8.3.0 ng update @ ngrx / store rxjs 5.5.12 -> 6.5.3 ng update rxjs
Агги Джон из 87
3
Спасибо @ user9964622, у меня это решение сработало.
Deep
@ Глубоко я рад, что мог помочь, счастливое кодирование
Мертвец
15

Если следующая команда не работает,

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

затем перейдите в папку проекта и выполните эту команду:

npm install --save @angular-devkit/build-angular
Муругараджу Перумалла
источник
npm install --save @ angular-devkit / build-angular работал для меня, но единственной проблемой было то, что я пытался запустить эту команду из командной строки, которая не запускалась от имени администратора, и я ввел ее для выполнения этой команды, которая не отображалась ни одной ошибки ничего только курсор был в состоянии ожидания, тогда я просто запустить cmd с администратором в нем работал. Спасибо
asifaftab87
14

Все вышеприведенные ответы верны, но у меня они не сработали. Единственным способом, которым я смог сделать эту работу, было выполнение следующих шагов / команд:

npm uninstall -g @angular/cli@6.0.8
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
grepit
источник
Если вы пытаетесь создать библиотеку, используйте ng new MY_PROJECT_NAME --create-application=falseв качестве второй команды. У меня была эта ошибка при попытке создать библиотеку. --create-application=falseФлаг избегает втягивая ненужные зависимости. ( angular.io/guide/creating-libraries#getting-started )
VSO,
1
у меня сработало после очистки кеша npm и повторной установки
Braj
10

Для угловых 8

Установить пакет npm-check-updates

Запустить:

$ npm i npm-check-updates
$ ncu -u
$ npm install

Этот пакет обновит все пакеты и решит эту проблему

Примечание: после обновления Если вы столкнулись с этой проблемой:

ОШИБКА в угловом компиляторе требует TypeScript> = 3.4.0 и <3.6.0, но вместо этого был найден 3.6.3.

затем запустите:

$ npm install typescript@3.5.3

Ссылка на источник

Код Шпион
источник
'ncu' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.
VivekDev
8

npm install Просто наберите npm installи запустите. Затем проект запустится без ошибок. Или вы можете использоватьnpm install --save-dev @angular-devkit/build-angular

Thisuri
источник
8

Следующее сработало для меня. К сожалению, больше ничего не сделал.

npm uninstall @angular-devkit/build-angular
npm install @angular-devkit/build-angular
ng update --all --allow-dirty --force
Ε Г И І И О
источник
У меня было сообщение о том, что --allow-dirty не установлен. Но обновил мои вещи.
Гарт Бейкер
6

Попробуй это.

npm install

npm update

if it's shows something like this. 

бежать, npm audit fixчтобы исправить их, или npm auditдля деталей

Сделай это!

Эльшан
источник
1
И когда вы делаете это, NPM говорит: «Я очень надеюсь, что вы знаете, что делаете». Это дало мне уродов.
Ε Г И І И О
1
проголосовал, поскольку это помогло - хотя только частично. После этого у меня все еще были некоторые недостающие одноранговые зависимости, которые я установил, следуя этой идее: stackoverflow.com/a/51063840/2995907
dingalapadum
6

Работают следующие команды:

npm install
ng update

-Вы можете увидеть сообщение "Мы проанализировали ваш пакет. Json, и все, кажется, в порядке. Хорошая работа!"

npm update

Тогда попробуйте dev build

ng build 

Я получил ошибку с типом скрипта, понижен до

npm install typescript@">=3.1.1 <3.2

ng build --prod 

Все успехи с Prod build.

Ниже рабочая комбинация

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
Pushpinder Singh
источник
6

Я попробовал все выше, и это фиксированный путь для меня:

-> Удалить папку node_modules.

-> Терминал -> Установка npm.

Надеюсь, это помогло!

Фес Нгуен
источник
4

Когда мы запускаем такие команды, как ng serve, он использует локальную версию @ angular / cli. Поэтому сначала установите последнюю версию @ angular / cli локально (без флага -g). Затем обновите cli, используя ng update @angular/cliкоманду. Я думаю, это должно решить проблему. Спасибо

Эта ссылка может помочь вам, если вы обновляете свой угловой проект https://update.angular.io/

Тибин Томас
источник
4

У меня была такая же проблема с Angular 7. Только что выполнили следующую команду и ошибка была решена.

npm install --save-dev @angular-devkit/build-angular
Чамиля Маддумаж
источник
4
npm install --save-dev @angular-devkit/build-angular@latest

решил это для меня.

Лекси Фейто
источник
4

Просто выполните следующую команду и ошибка была решена

  • ng update @angular/cli @angular/core
  • npm uninstall @angular-devkit/build-angular
  • npm install --save-dev @angular-devkit/build-angular

    если эта ошибка не может быть устранена с помощью вышеуказанной команды, вы обновляете версию узла

    • npm update npm -g
Раджникант Лодхи
источник
4

Сначала удалите node_modules папку

тогда перезагрузите систему

Запустить npm install --save-dev @angular-devkit/build-angular

а также

Запустить npm install

Пуллат Джунаид
источник
3

Я боролся с той же проблемой всего минуту назад. Мой проект был создан с использованием версии 1.6.0 angular-cli.

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

Я надеюсь, что моя помощь эффективна ツ


источник
1
Это не имеет ничего общего с невозможностью найти модуль. это просто означает, что угловой модуль Cli будет обновлен для любой версии 1.6.x
SanSolo
3

Попробуйте сначала

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

Если какая-то ошибка появляется снова для отсутствующих пакетов, попробуйте

npm install
Судхир Мухаммед
источник
3

Это работает для меня, совершить, а затем:

ng update @angular/cli @angular/core
npm install --save-dev @angular/cli@latest
Андрей
источник
3

У меня была такая же проблема сегодня, после обновления узла с v9 до v10.
Моя среда настроена Docker, и мне пришлось удалить эту команду из моего DockerFile:

npm link @angular/cli

Создает символическую ссылку на каталог, где установлен узел.
Я предполагаю, что angular/cliмодуль в нем не имеет ту же версию, что и в директории node_modules моего проекта, и это вызывает проблему.

v.nivuahc
источник
2

Эта ошибка обычно возникает, когда угловой проект не был полностью настроен.

Это будет работать

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

npm install
Кшитий Шукла
источник
1

Пожалуйста, следуйте этим 5 шагам, это сработало определенно. (Мой личный опыт)

Шаг 1: npm uninstall -g @angular/cli

Шаг 2: npm cache clean --force

Шаг 3: npm install -g @angular/cli@latest

Шаг 4: npm i

Шаг 5: ng build

После этого. ng serveЯ надеюсь, что определенно ваша проблема будет решена.

Софт Дев Ахмад Яр Хан
источник
0

Запуск следующего работал на меня npm audit fix --force

Geared4IT
источник
0

добавьте @angular-devkit/build-angularпод вашей зависимостью dev, и она будет работать, или вы также можете выполнить

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

Мохит Джайн
источник
0

Удалите package-lock.json и повторите установку npm. Это должно решить проблему.

** Это исправление больше подходит, когда вы создали приложение Angular 6, используя ng new, и после установки других зависимостей вы обнаружите эту ошибку.

Рут Шах
источник
0

В моем случае проблема заключается в отсутствии зависимостей. Почему отсутствуют зависимости, потому что я забыл позвонить:

установка npm

После вызова вышеуказанной команды все необходимые зависимости загружаются в node_modules, и это больше не проблема

Чи Куонг Ле
источник
0

Решение

Выполните команду ниже на вашем CLI:

  • установка npm
Абдулла Парияни
источник
0
  • Удалить node_modules.
  • Очистите кеш, используя 'npm cache clean --verify'.
  • А затем npm установить снова.

Работает как шарм для меня.

Арслан Мир
источник
0

Попробуй это. У меня сработало

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@next
Динеш Шоу
источник
@Next даст вам бета
Брент