Постройте старый угловой проект - PullRequest
0 голосов
/ 16 января 2019

Не могу построить старый угловой проект. Я вытащил код, начал с npm install @angular/cli@1.7.4 и ng build выдает эту ошибку:

Версии @ angular / compiler-cli и typcript не могут быть определяется. Наиболее распространенная причина этого - неправильная установка npm.

Пожалуйста, убедитесь, что ваш package.json содержит оба @ angular / compiler-cli и наберите в devDependencies, затем удалите node_modules и package-lock.json (если есть) и снова запустить npm install.

Я не уверен, что 1.7.4 будет правильной клиентской версией, поскольку package.json не содержит angular / cli. Как я могу восстановить все для сборки этого проекта, не касаясь кода?

Обновление:

Я установил @ angular / compiler-cli @ 2.4.5 и typescript@2.3.4 в devDependencies. Этот пост также содержит обновленный package.json. Теперь ошибка говорит:

Невозможно найти какие-либо приложения в .angular-cli.json.

Это потому, что у меня нет .angular-cli.json. Какая последняя версия angular cli не нуждалась в этом файле?

Обновление 2:

Я создал файл .angular-cli.json и попытался построить проект. После некоторых модификаций файла jsonn я получил загадочную ошибку:

TypeError: Невозможно прочитать свойство 'length' из неопределенного

Полагаю, это из более старой версии cli / compiler / typcript, но как определить реальную проблему?

Если я начну обновлять cli и другие, это будет катастрофой, потому что я не смог остановить обновление Angular до 7.2, а это означает, что в коде будет много изменений. (Попробовал это и сдался через один день.)

package.json:

"dependencies": {
    "@angular/cli": "^1.7.4",
    "@angular/common": "^2.4.5",
    "@angular/compiler": "^2.4.5",
    "@angular/core": "^2.4.5",
    "@angular/forms": "^2.4.5",
    "@angular/http": "^2.4.5",
    "@angular/platform-browser": "^2.4.5",
    "@angular/platform-browser-dynamic": "^2.4.5",
    "@angular/platform-server": "^2.4.5",
    "@angular/router": "^3.4.5",
    "@types/node": "^6.0.42",
    "angular2-modal": "^2.0.3",
    "angular2-platform-node": "~2.0.11",
    "angular2-template-loader": "^0.6.2",
    "angular2-universal": "^2.1.0-rc.1",
    "angular2-universal-patch": "^0.2.1",
    "angular2-universal-polyfills": "^2.1.0-rc.1",
    "aspnet-prerendering": "^2.0.0",
    "aspnet-webpack": "^1.0.17",
    "awesome-typescript-loader": "^3.0.0",
    "bootstrap": "^3.3.7",
    "css": "^2.2.1",
    "css-loader": "^0.25.0",
    "es6-shim": "^0.35.1",
    "event-source-polyfill": "^0.0.7",
    "expose-loader": "^0.7.1",
    "extract-text-webpack-plugin": "^2.0.0-rc",
    "file-loader": "^0.9.0",
    "html-loader": "^0.4.4",
    "isomorphic-fetch": "^2.2.1",
    "jquery": "^2.2.4",
    "json-loader": "^0.5.4",
    "ng-select": "^1.0.0-beta.5",
    "preboot": "^4.5.2",
    "raw-loader": "^0.5.1",
    "rxjs": "^5.4.0",
    "style-loader": "^0.13.1",
    "to-string-loader": "^1.1.5",
    "url-loader": "^0.5.7",
    "webpack": "^2.2.0",
    "webpack-hot-middleware": "^2.12.2",
    "webpack-merge": "^0.14.1",
    "zone.js": "^0.7.8"
  },
  "devDependencies": {
    "@angular/compiler-cli": "^2.4.5",
    "@types/chai": "^3.4.34",
    "@types/jasmine": "^2.5.37",
    "@types/jquery": "^2.0.41",
    "chai": "^3.5.0",
    "jasmine-core": "^2.5.2",
    "karma": "^1.3.0",
    "karma-chai": "^0.1.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-webpack": "^1.8.0",
    "typescript": "^2.3.0"
  }

1 Ответ

0 голосов
/ 16 января 2019

Прочитав некоторые проблемы, о которых сообщалось в репозитории GitHub, я нашел решение.

Чтобы обновить глобально установленный в вашей системе пакет angular-cli, необходимо выполнить:

npm uninstall -g angular-cli очистка кэша npm или проверка кэша npm (если npm> 5) npm install -g @ angular / cli @ latest В зависимости от вашей системы вам может потребоваться добавить префикс вышеупомянутых команд к sudo.

Кроме того, скорее всего, вы также хотите обновить свою локальную версию проекта, поскольку внутри вашей директории проекта она будет выбрана с более высоким приоритетом, чем у глобальной:

rm -rf node_modules удаление npm --save-dev angular-cli npm install --save-dev @ angular / cli @ latest npm install

...