Глобальная версия Angular CLI больше локальной версии
При запуске ng serve
я получаю это предупреждение о том, что моя глобальная версия CLI превышает мою локальную версию. Я не замечаю никаких проблем из этого предупреждения, но мне было интересно, должны ли две версии синхронизироваться? Кроме того, необходимо ли иметь локальную версию, если у вас есть глобальная версия?
Предупреждение:
Ваша глобальная версия Angular CLI (1.1.1) больше вашей локальной версии (1.0.6). Используется локальная версия Angular CLI.
Ответы
Ответ 1
Чтобы ответить на один из вопросов, необходимо, чтобы инструменты работали как на глобальном, так и на локальном уровне.
Если вы попытаетесь запустить приложение ng serve
для приложения без локальной установки интерфейса командной строки (только для глобальной установки), вы получите следующую ошибку.
Вы должны быть внутри проекта Angular CLI, чтобы использовать команду serve.
Также будет напечатано это сообщение:
Please take the following steps to avoid issues:
"npm install --save-dev @angular/[email protected]"
Выполните эту команду npm
чтобы обновить CLI локально и избежать появления предупреждения.
Другой вопрос: похоже, что они не должны быть синхронизированы, но, вероятно, лучше всего, чтобы они избегали какого-либо необычного поведения с инструментом или любых несоответствий с кодом, который генерирует инструмент.
Зачем нам нужна как глобальная, так и локальная установка?
Глобальная установка необходима для запуска нового приложения. Команда ng new <app-name>
запускается с помощью глобальной установки интерфейса командной строки. Фактически, если вы попытаетесь запустить ng new
находясь внутри структуры папок существующего приложения CLI, вы получите эту прекрасную ошибку:
Вы не можете использовать new
команду внутри Angular CLI проекта.
Другими командами, которые можно запустить из глобальной установки, являются ng help
, ng get/set
с --global
, ng version
, ng doc
и ng completion
.
Локальная установка интерфейса командной строки используется после сборки приложения. Таким образом, когда будут доступны новые версии CLI, вы можете обновить глобальную установку, не влияя на локальную установку. Это хорошо для стабильности проекта. Большинство команд ng
имеют смысл только с локальной версией, такой как lint
, build
и serve
и т.д.
Согласно readme CLI GitHub, для обновления CLI необходимо обновить глобальный и локальный пакет. Тем не менее, я использовал CLI, где глобальная и локальная версия меняются без каких-либо проблем. Если я когда-нибудь столкнусь с ошибкой, связанной с синхронизацией глобальной и локальной версий CLI, я опубликую это здесь.
Ответ 2
Вот как я решил проблему.
![Install latest Angular CLI package locally]()
Скопируйте и запустите эти команды
ng --version
npm install --save-dev @angular/[email protected]
ng --version
Ответ 3
Это работает для меня: он будет обновлять локальную версию до последней
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/[email protected]
npm install
проверить версию
ng --version
Ответ 4
npm uninstall --save-dev angular-cli
npm install --save-dev @angular/[email protected]
Существующая конфигурация может быть обновлена автоматически с помощью следующей команды:
ng update @angular/cli
или же:
npm install
Ответ 5
npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/[email protected]
Тогда в вашем локальном пакете проекта:
rm -rf node_modules dist
npm install --save-dev @angular/[email protected]
npm i
ng update @angular/cli
ng update @angular/core
npm install --save-dev @angular-devkit/build-angular
Получала ниже ошибка Ошибка: Неожиданный конец ввода JSON Неожиданный конец ввода JSON Вышеприведенные шаги помогли из этого поста Не могу обновить angular до версии 6
Ответ 6
В моем случае я просто использовал эту команду в проекте:
ng update @angular/cli
Ответ 7
Выполните следующую команду: npm install --save-dev @angular/[email protected]
После выполнения вышеупомянутой команды консоль может вывести следующее сообщение
Формат конфигурации Angular CLI был изменен, и ваша существующая конфигурация может быть автоматически обновлена с помощью следующей команды: ng update @angular/cli
Ответ 8
Я не владею английским
но если я понимаю проблему, локально ли в проекте у вас есть более старая версия CLI, чем глобально?
И вы хотели бы использовать этот глобальный более новый вместо локального более старого?
Если это так, то для запуска в каталоге проекта достаточно npm link @angular/cli
больше в теме на странице: https://docs.npmjs.com/cli/link
Ответ 9
Сначала узнайте глобальную версию angular-cli, запустив
ng --version
Приведенный выше код покажет, какая версия является глобальной и локальной версиями angular-cli.
Если вы хотите, чтобы глобальные и локальные угловые значения были одинаковыми, вы можете просто сделать
npm install --save-dev @angular/[email protected]
где 1.7.4 - ваша глобальная версия angular-cli
Затем, если вы запустите ng serve --open
ваш код должен работать.
Ответ 10
Установка npm --save-dev @angular-devkit/build-angular - помогла ng update @angular/cli → создала angular.json и другие обновления.
Сбор установленных зависимостей... Найдено 58 зависимостей.
** Executing migrations for package '@angular/cli' **
Updating karma configuration
Updating configuration
Removing old config file (.angular-cli.json)
Writing config file (angular.json)
Some configuration options have been changed, please make sure to update any npm scripts which you may have modified. DELETE .angular-cli.json CREATE angular.json (4394 bytes) CREATE browserslist (429 bytes) UPDATE karma.conf.js (993 bytes) UPDATE public/tsconfig.spec.json (295 bytes) UPDATE package.json (2618 bytes) UPDATE tsconfig.json (437 bytes) UPDATE tslint.json (3135 bytes) UPDATE public/polyfills.ts (587 bytes) UPDATE public/tsconfig.app.json (199 bytes) npm WARN @angular/[email protected] requires a peer of [email protected]^0.8.4 but none is installed. You must install peer dependencies yourself.
Ответ 11
Удалите текущий angular и установите конкретную версию.
Проверьте версию
нг --version
если не требуется, удалите версию
npm uninstall -g @angular/cli
если npm vesrion & lt; 5.x
очистка кэша npm
Проверьте кеш
проверка кэша npm
Установить конкретную версию
npm install -g @angular/cli @major.minor.patch
Ответ 12
Спасибо, отлично работает обновление есть альтернатива, которую я не рекомендую.
ng set --global warnings.versionMismatch=false
Ответ 13
Поместите NouisliderComponent в декларации, а не импортируйте.
@NgModule({
declarations: [
AppComponent,
NouisliderComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }`
для более пожалуйста ссылайтесь ниже url:
https://github.com/tb/ng2-nouislider/issues/38