Версия Global Angular CLI больше локальной версии

При запуске ng serve я получаю это предупреждение о том, что моя глобальная версия CLI больше, чем моя локальная версия. Я не замечаю никаких проблем из этого предупреждения, но мне было интересно, должны ли две версии синхронизироваться? Кроме того, необходимо ли иметь локальную версию, если у вас есть глобальная версия?

Предупреждение:

Ваша глобальная версия Угловой CLI (1.1.1) больше локальной версии (1.0.6). Используется локальная версия Угловой CLI.

    Чтобы ответить на один из вопросов, для работы этих инструментов необходимо иметь как глобальную, так и локальную установку.

    Если вы попытаетесь запустить ng serve в приложении без локальной установки CLI (только для глобальной установки), вы получите следующую ошибку.

    Вы должны быть внутри проекта «Угловая CLI», чтобы использовать команду serve.

    Он также напечатает это сообщение:

     Please take the following steps to avoid issues: "npm install --save-dev @angular/[email protected]" 

    Запустите эту команду npm для локального обновления CLI и избегайте предупреждения, которое вы получаете.

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

    Зачем нам нужна как глобальная установка, так и локальная установка?

    Глобальная установка необходима для запуска нового приложения. ng new команда ng new запускается с использованием глобальной установки CLI. Фактически, если вы попытаетесь запустить ng new находясь внутри структуры папок существующего приложения CLI, вы получите эту прекрасную ошибку:

    Вы не можете использовать new команду внутри проекта «Угловая CLI».

    Другие команды, которые могут быть запущены из глобальной установки, – это ng help , ng get/set с опцией --global , ng version , ng doc и ng completion .

    Локальная установка CLI используется после того, как приложение было построено. Таким образом, когда доступны новые версии CLI, вы можете обновить свою глобальную установку и не повлиять на локальную установку. Это хорошо для стабильности проекта. Большинство команд ng имеют смысл только в локальной версии, например, lint , build и serve и т. Д.

    Согласно CLI GitHub readme , для обновления CLI необходимо обновить глобальный и локальный пакет. Тем не менее, я использовал CLI, где глобальная и локальная версия меняются без каких-либо проблем. Если я когда-либо сталкиваюсь с ошибкой, связанной с тем, что глобальная и локальная версии CLI не синхронизированы, я опубликую это здесь.

    Вот как я решил проблему.

    Установка локального пакета CLI

    Скопируйте и запустите эти команды

     ng --version npm install --save-dev @angular/[email protected] ng --version 

    Это работает для меня: он обновит локальную версию до последней

     npm uninstall --save-dev angular-cli npm install --save-dev @angular/[email protected] npm install 

    проверить версию

      ng --version 
     npm uninstall --save-dev angular-cli npm install --save-dev @angular/[email protected] 

    Текущую конфигурацию можно обновить автоматически, выполнив следующую команду:

     ng update @angular/cli 

    или:

     npm install 

    Выполните следующую команду: npm install --save-dev @angular/[email protected]

    После запуска указанной команды консоль может вывести сообщение ниже

    Изменен формат конфигурации Угловой CLI, и существующую конфигурацию можно обновить автоматически, выполнив следующую команду: ng update @ angular / cli

    Сначала узнайте глобальную версию углового кли, запустив

     ng --version 

    Вышеприведенный код покажет, какая версия является глобальной и локальной версиями углового-cli.

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

     npm install --save-dev @angular/[email protected] 

    где 1.7.4 – ваша глобальная версия углового кли

    Затем, если вы запустите ng serve --open ваш код должен работать.

    Я не владею английским языком

    но если я понимаю проблему, то, что локально в проекте у вас более старая версия CLI, чем во всем мире?

    И хотите ли вы использовать этот глобальный новый, а не местный более старый?

    Если это так, достаточно простого метода для запуска в каталоге проекта npm link @angular/cli

    подробнее в теме на странице: https://docs.npmjs.com/cli/link

     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 

    Получалось ниже ошибки Ошибка: Неожиданный конец ввода JSON Неожиданный конец ввода JSON Вышеуказанные шаги помогли с этой должности Не удалось обновить угловое до версии 6

    Поместите NouisliderComponent в декларации, а не в импорте.

     @NgModule({ declarations: [ AppComponent, NouisliderComponent ], imports: [ BrowserModule, FormsModule, HttpModule, ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }` 

    для получения дополнительной информации см. ниже url: https://github.com/tb/ng2-nouislider/issues/38

    Спасибо, отлично работает обновление есть альтернатива, которую я не рекомендую.

     ng set --global warnings.versionMismatch=false 
    Давайте будем гением компьютера.