Как обновить Angular CLI до последней версии
Используя ng --version
, я получил:
@angular/cli: 1.0.0
который не является последним выпуском.
Так как у меня есть Angular CLI, установленный глобально на моей системе, для его обновления я попытался:
npm update angular-cli -g
Но он не работает, потому что он остается в версии 1.0.0.
Ответы
Ответ 1
Прочитав некоторые проблемы, о которых сообщалось в репозитории GitHub, я нашел решение.
Чтобы обновить глобально установленный в вашей системе пакет angular-cli, вам необходимо выполнить:
npm uninstall -g angular-cli
npm cache clean or npm cache verify #(if npm > 5)
npm install -g @angular/[email protected]
В зависимости от вашей системы вам может потребоваться добавить префикс вышеупомянутых команд к sudo
.
Кроме того, скорее всего, вы также хотите обновить локальную версию проекта, потому что внутри вашей директории проекта она будет выбрана с более высоким приоритетом, чем глобальная:
rm -rf node_modules
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/[email protected]
npm install
спасибо grizzm0 за указание этого на GitHub.
После обновления CLI вы, вероятно, захотите обновить и версию Angular.
Примечание: если вы обновляете Angular CLI 6+ со старой версии, вам может потребоваться прочитать это.
Редактировать: Кроме того, если вы все еще работали на 1.x версии cli, вам необходимо преобразовать ваш angular-cli.json
в angular.json
, что вы можете сделать с помощью следующей команды:
ng update @angular/cli --from=1.7.4 --migrate-only
(проверьте это для более подробной информации).
Ответ 2
ng6+ → 7,0
Обновление RxJS (зависит от RxJS 6.3)
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
Удалить rxjs-compat
Затем обновите основные пакеты и Cli:
ng update @angular/cli @angular/core
(Необязательно: обновите Node.js до версии 10, которая поддерживается в NG7)
ng6+ (Cli 6. 0+): функции упрощенных команд
Во-первых, обновите свой Cli
npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
Затем обновите ваши основные пакеты
ng update @angular/core
Если вы используете RxJS, запустите
ng update rxjs
Он обновит RxJS до версии 6 и установит пакет rxjs-compat
.
Если вы столкнулись с ошибками сборки, попробуйте установить вручную:
npm i rxjs-compat
npm i @angular-devkit/build-angular
Наконец, проверьте свою версию
ng v
Примечание о сборке:
ng6 больше не использует intl
в polyfills.ts
//remove them to avoid errors
import 'intl';
import 'intl/locale-data/jsonp/en';
ng5+ (Cli 1. 5+)
npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@next [email protected] [email protected]'^5.5.2'
npm install [email protected] --save-exact
Замечания:
- Поддерживаемая версия Typescript для Cli 1.6 на момент написания статьи до 2.5.3.
- Использование @next обновляет пакет до бета-версии, если доступно. Используйте @latest, чтобы получить последнюю не бета-версию.
После обновления как глобального, так и локального пакета очистите кеш, чтобы избежать ошибок:
npm cache verify (recommended)
npm cache clean (for older npm versions)
Вот официальные ссылки:
- Обновление Кли
- Обновление основных пакетов основного пакета.
Ответ 3
вы можете просто использовать
npm install -g angular-cli
- если ваш первый раз
npm install -g @angular/[email protected]
- если u уже установлен, поэтому для обновления
Ответ 4
Мощная команда устанавливает и заменяет последний пакет.
У меня была аналогичная проблема. Я исправил его.
npm install -g @angular/[email protected]
и
npm install --save-dev @angular/[email protected]
Ответ 5
Эта команда отлично работает:
npm upgrade -g @angular/cli
Ответ 6
В дополнение к @ShinDarth ответ.
Я сделал то, что сказал, но мой пакет не обновил версию angular, и я знаю, что это сообщение о angular-cli
, но я думаю, что это тоже может помочь.
- так что после того, как @ShinDarth сказал выше, чтобы исправить мою версию angular, мне пришлось создать новый проект с
-ng new projectname
, который сгенерировал пакет.
- скопируйте новый пакет, затем вставьте новый пакет во все пакеты проектов, нуждающиеся в обновлении (не забудьте добавить зависимости, которые у вас были, и измените имя в первой строке), или вы можете просто изменить версии вручную без копирования и вставки.
- затем запустите
-npm install
.
Теперь мой ng serve
работает снова, возможно, есть лучший способ сделать все это, если кто-то знает, пожалуйста, поделитесь, потому что это больно со всеми проектами, которые нуждаются в обновлении.
Ответ 7
У меня сработал следующий подход:
npm uninstall -g @angular/cli
затем
npm cache verify
затем
npm install -g @angular/[email protected]
Я работаю на Windows 10, иногда мне приходилось использовать: npm cache clean --force
также. Вам не нужно делать, если у вас нет проблем во время установки.
Ответ 8
ОБНОВИТЬ:
Начиная с CLI v6, вы можете просто запустить ng update
для автоматического обновления ваших зависимостей до новой версии.
Иногда с помощью ng update
вы можете добавить флаг --force
.
Вы также можете передать флаг --all
чтобы обновить все устаревшие пакеты.
После завершения обновления убедитесь, что установленная вами версия машинописного текста поддерживается вашей текущей угловой версией, в противном случае вам может потребоваться понизить версию машинописного текста. Также имейте в виду, что обычно последняя версия angular не поддерживает последнюю версию машинописи.
Также ознакомьтесь с этим руководством Обновление ваших Angular проектов и update.angular.io
СТАРЫЙ ОТВЕТ:
Все, что вам нужно сделать, это сравнить с angular-cli-diff и применить изменения в вашем текущем проекте.
Вот шаги:
- Скажем, вы идете от 1.4. до 1,5, то вы делаете https://github.com/cexbrayat/angular-cli-diff/compare/1.4.0...1.5.0
- нажмите на вкладку "
File changed
" - Примените изменения к вашему текущему проекту.
-
npm install
/yarn
- Протестируйте все
npm scripts
(более подробно здесь: fooobar.com/questions/105102/...)
Ответ 9
Чтобы обновить Angular CLI до новой версии, необходимо обновить как глобальный пакет, так и локальный пакет проекта.
Глобальный пакет:
npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use 'npm cache verify' to avoid errors (or to avoid using --force)
npm install -g @angular/[email protected]
Локальный проектный пакет:
rm -rf node_modules dist # use rmdir /S/Q node_modules dist in Windows Command Prompt; use rm -r -fo node_modules,dist in Windows PowerShell
npm install --save-dev @angular/[email protected]
npm install
Источник: Github
Ответ 10
В моем случае я установил angular-cli локально, используя npm install --save-dev angular-cli. Поэтому, когда я использую команду npm install -g @angular/cli, выдается сообщение о том, что "ваша глобальная версия Angular CLI (1.7.3) больше вашей локальной версии (1.4.9)". Обратите внимание, что angular-cli, @angular/cli и @angular/cli @latest являются двумя различными типами cli. Решить это - удалить все клиентские системы, а затем установить последнюю версию angular cli с помощью npm install -g @angular/cli @latest
Ответ 11
Для больших проектов, где у вас много дополнительных зависимостей, я бы предложил переместить их в отдельный package.json, чтобы процесс обновления можно было сделать менее болезненно.
Преобразуйте его в monorepo с помощью рабочих областей или используйте простой инструмент, например package-json-merge.
Подробнее можно найти на https://www.rainerhahnekamp.com/en/updating-angular-cli-dependencies/