Как обновить 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

Замечания:

  1. Поддерживаемая версия Typescript для Cli 1.6 на момент написания статьи до 2.5.3.
  2. Использование @next обновляет пакет до бета-версии, если доступно. Используйте @latest, чтобы получить последнюю не бета-версию.

После обновления как глобального, так и локального пакета очистите кеш, чтобы избежать ошибок:

npm cache verify (recommended)
npm cache clean (for older npm versions)

Вот официальные ссылки:

  1. Обновление Кли
  2. Обновление основных пакетов основного пакета.

Ответ 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. Скажем, вы идете от 1.4. до 1,5, то вы делаете https://github.com/cexbrayat/angular-cli-diff/compare/1.4.0...1.5.0
  2. нажмите на вкладку " File changed "
  3. Примените изменения к вашему текущему проекту.
  4. npm install/yarn
  5. Протестируйте все 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/