Когда и где Angular CLI был установлен локально?

После установки Node.js я импортировал проект Angular с GitHub на VSCode, затем последовательно выполняю следующие обычные команды:

npm install                      //This one created node_modules folder, but I don't have angular cli yet, because ng is still not recognized!
npm install -g @angular/cli      //Then after the installation of the global CLI finished..
ng --version

Теперь я получаю следующее предупреждение:

Your global Angular CLI version (7.3.5) is greater than your local version (7.3.2). The local Angular CLI version is used.
To disable this warning use "ng config -g cli.warnings.versionMismatch false".

Этот вопрос пытается объяснить, что warning, но они не объясняют, где и когда установлен локальный CLI, по крайней мере, в моем случае здесь.

Пожалуйста, дайте некоторые разъяснения, спасибо.

Редактировать

Вот зависимости в pakage.json, согласно вашим комментариям, они связаны, но каковы обычные сценарии, если нет явного определения версии CLI?.

    "dependencies": {
    "@angular/animations": "^7.2.6",
    "@angular/cdk": "^7.3.3",
    "@angular/common": "~7.2.0",
    "@angular/compiler": "~7.2.0",
    "@angular/core": "~7.2.0",
    "@angular/forms": "~7.2.0",
    "@angular/material": "^7.3.3",
    "@angular/platform-browser": "~7.2.0",
    "@angular/platform-browser-dynamic": "~7.2.0",
    "@angular/router": "~7.2.0",
    "angular-formio": "^3.10.2",
    "bootstrap": "^4.3.1",
    "bootswatch": "^4.3.1",
    "core-js": "^2.5.4",
    "font-awesome": "^4.7.0",
    "jquery": "^3.3.1",
    "rxjs": "~6.3.3",
    "tslib": "^1.9.0",
    "zone.js": "~0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.13.0",
    "@angular/cli": "~7.3.1",
    "@angular/compiler-cli": "~7.2.0",
    "@angular/language-service": "~7.2.0",
    "@types/node": "~8.9.4",
    "@types/jasmine": "~2.8.8",
    "@types/jasminewd2": "~2.0.3",
    "codelyzer": "~4.5.0",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~3.1.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.1",
    "karma-jasmine": "~1.1.2",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.4.0",
    "ts-node": "~7.0.0",
    "tslint": "~5.11.0",
    "typescript": "~3.2.2"
  }

Выполнение npm install, вероятно, устанавливает ng cli локально, если он указан в файле package.json, он не попадает автоматически в переменную среды PATH. Чтобы выполнить его, вам понадобится команда npx, например: npx ng ..... Пожалуйста, опубликуйте свои devDependencies, чтобы мы могли исследовать.

Dariusz Ostolski 12.03.2019 19:41

@DariuszOstolski Спасибо за внимание, я обновил.

SourceCode 12.03.2019 19:52

Попробуйте ввести @angular/cli и версию ~7.3.1 в Калькулятор семантической версии npm. Вы увидите, что версия 7.3.2 может быть установлена ​​на основе этого шаблона.

Alexander Staroselsky 12.03.2019 19:54
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
3
1 658
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Глобальная версия устанавливается вместе с npm install -g @angular/cli@latest.

Локальная версия находится внутри вашего проекта в node_modules под node_modules/@angular/cli. Вы должны обновить свой package.json до той же версии, что и ваша глобальная версия.

@angular/cli устанавливается локально при запуске ng new appName.

И он устанавливается при каждом запуске npm install в корне вашего проекта.

Чтобы обновить его вам нужно изменить эту строку в package.json

...
"@angular/cli": "~7.3.2",
...

К этому

...
"@angular/cli": "~7.3.5",
...

А потом бежать npm install

Спасибо, это ответ на Where, а как насчет When?

SourceCode 12.03.2019 19:42

@SourceCode Он устанавливается «локально», когда вы выполняете команду npm install на основе версии, указанной в package.json. Какой номер версии указан в package.json для @angular/cli?

Alexander Staroselsky 12.03.2019 19:47

@AlexanderStaroselsky Спасибо, обновил, вроде не тот, что в сообщении! Нет 3.2.

SourceCode 12.03.2019 19:51

Вы клонировали угловой проект с github, в нем есть файл с именем package.json, который сообщает npm какие пакеты устанавливать, когда вы это делаете npm install.

Итак, в вашем package.json, пожалуйста, найдите "@angular/cli" в devDependencies, вы найдете версию, написанную примерно так

"@angular/cli": "^7.3.2"

Это местная версия @angular/cli.

когда вы запустили npm install, он установил эту версию(7.3.2) Angular CLI, также известную как локальная версия.

но когда вы запустили npm install -g @angular/cli, он автоматически установил последнюю версию глобально (флаг -g в команде установки). И последняя версия была 7.3.5. Следовательно, он дает предупреждение о том, что локальная версия не совпадает и использует локальную версию Angular CLI.

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