Не могу собрать старый угловой проект. Я снял код, начал с npm install @angular/[email protected], и ng build выдает эту ошибку:
Не удалось определить версии @ angular / compiler-cli и typescript. Наиболее частой причиной этого является некорректная установка npm.
Убедитесь, что ваш package.json содержит как @ angular / compiler-cli, так и typescript в devDependencies, затем удалите node_modules и package-lock.json (если он у вас есть) и снова запустите npm install.
Я не уверен, что 1.7.4 будет версией corrent cli, поскольку package.json не содержит angular / cli. Как я могу восстановить все для сборки этого проекта, не касаясь кода?
Обновление:
Я установил @ angular / compiler-cli @ 2.4.5 и [email protected] в devDependencies. Этот пост также содержит обновленный package.json. Ошибка теперь говорит:
Невозможно найти приложения в
.angular-cli.json.
Это потому, что у меня нет .angular-cli.json. Какая последняя версия angular cli не нуждалась в этом файле?
Обновление 2:
Я создал файл .angular-cli.json и попытался собрать проект. После некоторых модификаций файла jsonn я получил загадочную ошибку:
TypeError: невозможно прочитать свойство «длина» неопределенного значения.
Я полагаю, это исходит от более старой версии cli / compiler / typescript, но как я могу определить реальную проблему?
Если я начну обновлять 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"
}
Файл должен был быть включен там, где был проект. Попробуйте скопировать его из какого-нибудь углового примера и попробуйте еще раз. Этот файл нужен для cli. CLI 6.0+ не нужен этот файл, да. — person Perrier schedule 16.01.2019
Я добавил файл, и теперь у меня другие ошибки. Со старыми compiler-cli и typescript я получаю неопределенную ошибку длины. Если я обновлюсь до более новой версии compiler-cli и машинописного текста, он снова выдаст ошибку Versions of @angular/compiler-cli and typescript could not be determined., так что я снова в начале. — person Perrier schedule 16.01.2019
Я видел ответ, чтобы попробовать npm install -g [email protected] — person Perrier schedule 16.01.2019
