npm установка для angular 7 ошибок приложения с: Не удалось найти модуль "@ angular -devkit / build-ng-packagr" из ... /. Npm / _cacache / tmp - PullRequest
0 голосов
/ 25 февраля 2020

Я не эксперт с JavaScript, узлом, npm, Angular и др. c. Я новичок ie с TypeScript. Но я унаследовал приложение, и мне нужно его поддерживать, чтобы исправить проблему межсайтового приготовления ie.

Итак, я пытаюсь настроить среду разработки. Я застрял на npm install с жалобой на отсутствие модуля @ angular -devkit / build-ng-packagr . Та же самая ошибка происходит, когда я пытаюсь явно установить этот модуль. Вот журнал (без множества похожих строк):

$ npm install @angular-devkit/build-ng-packagr

ngx-charts@0.0.0 prepack /home/kbuchs/.npm/_cacache/tmp/git-clone-a312e0b2
npm run package


ngx-charts@0.0.0 package /home/kbuchs/.npm/_cacache/tmp/git-clone-a312e0b2
npm run build:lib


ngx-charts@0.0.0 build:lib /home/kbuchs/.npm/_cacache/tmp/git-clone-a312e0b2
ng build @swimlane/ngx-charts && npm run copy-files

Could not find module "@angular-devkit/build-ng-packagr" from "/home/kbuchs/.npm/_cacache/tmp/git-clone-a312e0b2".
Error: Could not find module "@angular-devkit/build-ng-packagr" from "/home/kbuchs/.npm/_cacache/tmp/git-clone-a312e0b2".
    at Object.resolve (/usr/lib/node_modules/@angular/cli/node_modules/@angular-devkit/core/node/resolve.js:141:11)
    at Observable.rxjs_1.Observable [as _subscribe] (/usr/lib/node_modules/@angular/cli/node_modules/@angular-devkit/architect/src/architect.js:132:40)
    at Observable._trySubscribe (/usr/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Observable.js:44:25)
    at Observable.subscribe (/usr/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Observable.js:30:22)
    at /usr/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Observable.js:99:19
    at new Promise (<anonymous>)
    at Observable.toPromise (/usr/lib/node_modules/@angular/cli/node_modules/rxjs/internal/Observable.js:97:16)
    at BuildCommand.initialize (/usr/lib/node_modules/@angular/cli/models/architect-command.js:88:94)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at Function.Module.runMain (internal/modules/cjs/loader.js:834:11) 

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ngx-charts@0.0.0 build:lib: `ng build @swimlane/ngx-charts && npm run copy-files`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ngx-charts@0.0.0 build:lib script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kbuchs/.npm/_logs/2020-02-25T17_01_41_575Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ngx-charts@0.0.0 package: `npm run build:lib`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ngx-charts@0.0.0 package script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kbuchs/.npm/_logs/2020-02-25T17_01_41_608Z-debug.log
npm WARN tar ENOENT: no such file or directory, open '/home/kbuchs/git/host-analytics/node_modules/.staging/got-f7f3ba2c/package.json'
npm WARN tar ENOENT: no such file or directory, open '/home/kbuchs/git/host-analytics/node_modules/.staging/got-f7f3ba2c/index.js'

. . .

npm WARN @angular-devkit/build-ng-packagr@0.11.4 requires a peer of ng-packagr@^2.2.0 || ^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.

npm ERR! premature close

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/kbuchs/.npm/_logs/2020-02-25T15_51_50_301Z-debug.log

Каким-то образом из пакета выходит сборка ngx-диаграмм. json. В пакете. json определены некоторые сценарии, но я не знаю, что может заставить npm захотеть начать сборку, когда я просто попросил его установить.

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

Я вставлю свою упаковку. json внизу.

Я попытался очистить, чтобы начать с нуля. Я удалил каталог node_modules. Также удалено ~ / .npm / *. Я попробовал все это, используя узел версии 13.

Если я переименую пакет. json и файлы package-lock. json, я могу установить отдельные модули без проблем. С этими файлами с их оригинальными именами я отмечаю, что при попытке явной установки определенного модуля npm, кажется, проходит через построение полного дерева зависимостей для содержимого этих файлов.

Итак, затем я попытался go вернуться к версии узла, которая была текущей, когда проект был впервые создан примерно через 16 месяцев go, узел 10.19.0. Для этого я установил модуль n глобально ( sudo npm install -gn ). Это изменило версию npm на 6.13.4. Тем не менее, были получены те же результаты.

В конце я заметил предупреждение о зависимости от пира ng-packagr@^4.0.0 и попытался установить это (npm install ng-packagr@^4.0.0 ). Я получил все те же ошибки, но другое предупреждение о зависимости от сверстников при tsickle @> = 0.34.0. Опять же, я попытался npm установить tsickle @> = 0.34.0 и получил все те же ошибки и многое другое с предупреждением о зависимости от однорангового узла от typescript@~3.7.2. Итак, я сделал sudo npm install -g typescript@~3.7.2, который работал без ошибок и предупреждений. Когда я вернулся, чтобы попытаться установить tsickle, снова появились ошибки и сообщение о зависимости пира от машинописного текста. Такое чувство, что я гоняюсь за своим хвостом.

Кто-нибудь может предложить выход?

Моя посылка. json:

{
  "name": "analytics",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "build.dev": "ng build -c dev",
    "build.staging": "ng build -c staging",
    "build.master": "ng build -c prod",
    "deploy.dev": "cp app.dev.yaml dist/app.yaml && gcloud app deploy dist/app.yaml",
    "deploy.staging": "cp app.staging.yaml dist/app.yaml && gcloud beta app deploy dist/app.yaml",
    "deploy.master": "cp app.prod.yaml dist/app.yaml && gcloud beta app deploy dist/app.yaml",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular-devkit/build-ng-packagr": "~0.11.1",
    "@angular/animations": "~7.1.0",
    "@angular/common": "~7.1.0",
    "@angular/compiler": "~7.1.0",
    "@angular/core": "~7.1.0",
    "@angular/forms": "~7.1.0",
    "@angular/platform-browser": "~7.1.0",
    "@angular/platform-browser-dynamic": "~7.1.0",
    "@angular/router": "~7.1.0",
    "@ng-bootstrap/ng-bootstrap": "^4.0.0",
    "@priotas/angular-bootstrap-slider": "^1.1.26",
    "@swimlane/ngx-charts": "github:swimlane/ngx-charts#master",
    "@types/date-fns": "^2.6.0",
    "auth0-js": "^9.8.2",
    "bootstrap": "^4.0.0-beta.3",
    "bootstrap-slider": "^10.3.4",
    "compact-timezone-list": "^1.0.6",
    "core-js": "^2.5.4",
    "d3": "^5.7.0",
    "date-fns": "^1.30.1",
    "font-awesome": "^4.7.0",
    "html2canvas": "^1.0.0-alpha.12",
    "html2pdf": "0.0.11",
    "jspdf": "^1.5.3",
    "lodash": "^4.17.11",
    "moment": "^2.22.2",
    "moment-timezone": "^0.5.23",
    "ng-multiselect-dropdown": "^0.2.3",
    "ng2-timezone-selector": "^0.2.4",
    "ngx-webstorage-service": "^3.1.1",
    "print-js": "^1.0.54",
    "rxjs": "~6.3.3",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.11.0",
    "@angular/cli": "~7.1.1",
    "@angular/compiler-cli": "~7.1.0",
    "@angular/language-service": "~7.1.0",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "@types/lodash": "^4.14.120",
    "@types/node": "^8.10.45",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.1.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "ncp": "^2.0.0",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.1.6"
  }
}

1 Ответ

1 голос
/ 25 февраля 2020

Поскольку это приложение Angular 7, оно указывает на то, что оно является более старым кодом, что заставляет меня подозревать, что это, вероятно, недопустимая зависимость:

"@swimlane/ngx-charts": "github:swimlane/ngx-charts#master",

, так как оно собирается тянуть текущая версия ngx-чартов от github. Что касается релизов, Angular 7.1.0 был выпущен в ноябре 2018 года (ref: https://github.com/angular/angular-cli/releases/tag/v.7.1.0); поэтому я бы попытался использовать версию ngx-диаграмм, которая была бы современной для этого (похоже, 10.0.0 или 10.1.0 были бы хорошими ставками, на https://github.com/swimlane/ngx-charts/releases).

Так что ... чтобы быть в безопасности:

rm -r package-lock.json node_modules
npm i --save @swimlane/ngx-charts@10.1.0
npm install

... посмотреть, поможет ли это.

...