Как правильно обновить angular 2 (npm) до последней версии?
недавно я начал угловой 2 учебник в https://angular.io/docs/ts/latest/tutorial/.
и остановился на угловой 2 бета 8.
Теперь я возобновил учебник, и последняя бета-версия-beta 14.
Если я просто сделать НПМ обновление несколько модулей (предварительно загруженных с учебником) обновляются, но не Angular2 (я вижу, что с npm ls).
Если я это сделаю npm обновление угловой 2 или обновление npm [email protected] он просто ничего не делает либо.
10 ответов:
команда
npm update -D && npm update -Sобновить все пакеты внутриpackage.jsonк их последней версии, по данным их определенный диапазон версия. Вы можете прочитать больше об этом здесь.если вы хотите обновить Angular из версии до
2.0.0-rc.1, то вам нужно будет вручную редактироватьpackage.json, поскольку Angular был разделен на несколько модулей npm. Без этого, как angular2 очки пакет2.0.0-beta.21, вы никогда не будете использовать последняя версия Angular.
список с некоторыми из наиболее распространенных модулей, которые вам нужно будет начать можно найти в быстрый запуск репозитория.Примечания:
отличный способ оставаться в курсе последних версий ваших пакетов использовать
npm outdatedкоторый показывает вам все устаревшие пакеты вместе с их желаемой и последней версией.в причина, по которой нам нужно связать две команды,
npm update -Dиnpm update -Sпреодоление эта ошибка пока это не исправлено.
еще один хороший пакет, который я использовал для миграции из бета-версии Angular2 в
Angular2 2.0.0 finalиnpm-check-updatesон показывает последнюю доступную версию всех пакетов, указанных в вашем пакете.формат JSON. В отличие от
npm outdatedОн также способен редактировать ваш пакет.json, что позволяет вам сделатьnpm upgradeпозже.установить
sudo npm install -g npm-check-updatesиспользование
ncuдля дисплей
ncu -uдля переписывания вашего пакета.json
обновление до последней угловой 5
угловые пакеты Dep:
npm install @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router}@latest --saveдругие пакеты, которые установлены угловым cli
npm install --save core-js@latest rxjs@latest zone.js@latestугловые пакеты Dev:
npm install --save-dev @angular/{compiler-cli,cli,language-service}@latestтипы пакетов Dev:
npm install --save-dev @types/{jasmine,jasminewd2,node}@latestдругие пакеты, которые устанавливаются как dev dev с помощью углового cli:
npm install --save-dev codelyzer@latest jasmine-core@latest jasmine-spec-reporter@latest karma@latest karma-chrome-launcher@latest karma-cli@latest karma-coverage-istanbul-reporter@latest karma-jasmine@latest karma-jasmine-html-reporter@latest protractor@latest ts-node@latest tslint@latestустановите последнюю поддерживаемую версию, используемую угловым cli (не делайте @новейший):
npm install --save-dev [email protected]переименовать файл angular-cli.json to .угловой-кли.json и обновить содержимое:
{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "project": { "name": "project3-example" }, "apps": [ { "root": "src", "outDir": "dist", "assets": [ "assets", "favicon.ico" ], "index": "index.html", "main": "main.ts", "polyfills": "polyfills.ts", "test": "test.ts", "tsconfig": "tsconfig.app.json", "testTsconfig": "tsconfig.spec.json", "prefix": "app", "styles": [ "styles.css" ], "scripts": [], "environmentSource": "environments/environment.ts", "environments": { "dev": "environments/environment.ts", "prod": "environments/environment.prod.ts" } } ], "e2e": { "protractor": { "config": "./protractor.conf.js" } }, "lint": [ { "project": "src/tsconfig.app.json", "exclude": "**/node_modules/**" }, { "project": "src/tsconfig.spec.json", "exclude": "**/node_modules/**" }, { "project": "e2e/tsconfig.e2e.json", "exclude": "**/node_modules/**" } ], "test": { "karma": { "config": "./karma.conf.js" } }, "defaults": { "styleExt": "css", "component": {} } }
на Баш только для пользователей
если вы находитесь на
Mac/Linuxили работает баш наWindows(что не будет работать по умолчаниюWindows CMD) вы можете запустить эту oneliner:
npm install @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router,compiler-cli}@4.4.5 --save
yarn add @angular/{animations,common,compiler,core,forms,http,platform-browser,platform-browser-dynamic,router,compiler-cli}@4.4.5просто укажите версию, которую вы не хотите, например, @4.4.5 или поместите @latest, чтобы получить последнюю
Проверьте
package.jsonпросто убедитесь, что вы обновляете все@angular/*пакеты, которые вы приложение полагается на
- чтобы увидеть точно
@angularверсия в вашем проекте run:npm ls @angular/compilerилиyarn list @angular/compiler- чтобы проверить последнюю стабильную
@angularверсия доступна на npm run:npm show @angular/compiler versionобновление:
Начиная с CLI v6 вы можете просто запуститьng updateдля того, чтобы ваши зависимости автоматически обновлялись до новой версии.С
ng updateиногда вы, возможно, захотите, чтобы добавить--forceфлаг. Если вы это сделаете, убедитесь, что версия typescript у вас есть установленный таким образом поддерживается вашей текущей угловой версией, в противном случае вам может потребоваться понизить версию typescript.
официальная страница npm предлагает структурированный метод для обновления угловой версии как для глобальных, так и для локальных сценариев.
1.Прежде всего, вам нужно удалить текущий угловой из вашего система.
npm uninstall -g angular-cli npm uninstall --save-dev angular-cli npm uninstall -g @angular/cli2.Очистите кэш
npm cache cleanEDIT
как указал @candidj
npm cache cleanпереименован вnpm cache verifyначиная с npm 5 и далее3.Установите угловой
npm install -g @angular/cli@latest4.Локальная настройка проекта, если у вас есть один
rm -rf node_modules npm install --save-dev @angular/cli@latest npm installпожалуйста, проверьте то же самое по ссылке ниже:
https://www.npmjs.com/package/@angular/cli#updating-angular-cli
это решит проблему.
если вы хотите установить/обновить все пакеты до последней версии, и вы используете Windows, вы можете использовать это в
powershell.exe:foreach($package in @("animations","common","compiler","core","forms","http","platform-browser","platform-browser-dynamic","router")) { npm install @angular/$package@latest -E }если вы используете
cli, вы можете сделать это:foreach($package in @('animations','common','compiler','core','forms','http','platform-browser','platform-browser-dynamic','router', 'cli','compiler-cli')){ iex "npm install @angular/$package@latest -E $(If($('cli','compiler-cli').Contains($package)){'-D'})"; }это сохранит пакеты точно (- E), и пакеты cli в
devDependencies(- D)
альтернативный подход с использованием npm-upgrade:
npm i -g npm-upgradeперейдите в папку проекта
npm-upgrade checkОн спросит вас, если вы хотите обновить пакет, выберите Да
Это просто
просто начните здесь:
выберите версию, которую вы используете, и это даст вам пошаговое руководство.
Я рекомендую выбрать "Дополнительно", чтобы увидеть все шаги. Сложность-это относительная концепция, и я не знаю, чья глупая идея была этой функцией, но если вы выберете "базовый", он не покажет вам все необходимые шаги, и вы можете пропустить что-то важное, что использует ваше "базовое" приложение.
С версии 6 появилась новая угловая команда CLI
ng updateкоторый разумно проходит через ваши зависимости и выполняет проверки, чтобы убедиться, что вы обновляете правильные вещи : -)шаги будут изложены, как его использовать: -)
НПМ удалить-сохранить-Дэв угловые-интерфейс командной строки
npm install --save-dev @angular / cli@latest
обновление ng @angular / cli
обновление ng @angular / core --force
обновление ng @angular / material или npm i @angular / cdk@6 @угловой / материал@6 -- save
npm install typescript@'>=2.7.0
лучший способ сделать это-использовать расширение(pflannery.vscode-versionlens) в vscode.
Это проверяет для всех удовлетворяет и проверяет для самой лучшей пригонки.
У меня было много проблем с обновлением и сохранением моего приложения functioining unitll я позволил verbose lense сделать проверку, а затем запустить
npm i
для установки новых предложенных зависимостей.

Comments