Как обновить Angular CLI до последней версии

С помощью ng --version Я получил:

@ angular / cli: 1.0.0

которая не является последней доступной версией.

Поскольку в моей системе глобально установлен Angular CLI, для его обновления я попытался:

npm update angular-cli -g

Но это не работает, потому что он остается до версии 1.0.0.

10 ответов

Решение

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

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

npm uninstall -g angular-cli
npm cache clean or npm cache verify (if npm > 5)
npm install -g @angular/cli@latest

В зависимости от вашей системы, вам может потребоваться добавить префикс вышеупомянутых команд sudo,

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

rm -rf node_modules
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/cli@latest
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

(проверьте это для более подробной информации).

Вы можете просто использовать

npm install -g angular-cli - если это ваш первый раз

npm install -g @angular/cli@latest - если вы уже установлены, так что для обновления

нг6+ -> 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 typescript@2.4.2 rxjs@'^5.5.2'
npm install typescript@2.4.2 --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. Обновление основных пакетов.

Мощная команда устанавливает и заменяет последний пакет.

У меня была похожая проблема. Я починил это.

 npm install -g @angular/cli@latest

а также

npm install --save-dev @angular/cli@latest

У меня сработал следующий подход:

npm uninstall -g @angular/cli

затем

npm cache verify

затем

npm install -g @angular/cli@latest

Я работаю на Windows 10, иногда мне приходилось использовать: npm cache clean --force также. Вам не нужно делать, если у вас нет проблем во время установки.

Эта команда отлично работает:

npm upgrade -g @angular/cli

ОБНОВИТЬ:
Начиная с CLI v6 вы можете просто запустить ng update чтобы ваши зависимости обновлялись автоматически до новой версии.

С ng update иногда вы можете добавить --force флаг. Если вы сделаете это, убедитесь, что версия машинописного текста, который вы установили таким образом, поддерживается вашей текущей угловой версией, в противном случае вам может потребоваться понизить версию машинописного текста.

Также ознакомьтесь с этим руководством Обновление ваших Angular проектов


Все, что вам нужно сделать, это сравнить с 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 (подробнее здесь: /questions/17459891/obnovite-angular-cli-v-suschestvuyuschem-proekte/17459903#17459903)

В дополнение к ответу @ShinDarth.

Я сделал то, что он сказал, но мой пакет не обновил угловую версию, и я знаю, что этот пост о angular-cliНо я думаю, что это тоже может помочь.

  • так что после того, как @ShinDarth сказал выше, чтобы исправить мою угловую версию, мне пришлось создать новый проект с -ng new projectname это создало пакет.
  • скопируйте новый пакет, затем вставьте новый пакет во все пакеты проектов, нуждающиеся в обновлении (не забудьте добавить имеющиеся зависимости и изменить имя в первой строке), или вы можете просто изменить версии вручную без копирования и вставки.
  • затем беги -npm install,

Теперь мой ng serve снова работает, может быть, есть лучший способ сделать все это, если кто-то знает, пожалуйста, поделитесь, потому что это боль делать со всеми проектами, которые нуждаются в обновлении.

В моем случае я установил 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

Чтобы обновить 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/cli@latest

Локальный проектный пакет:

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/cli@latest
npm install

Источник: Github

Другие вопросы по тегам