【问题标题】:When and Where Angular CLI Has Been Installed Locally?Angular CLI 何时何地安装在本地?
【发布时间】:2019-08-03 08:15:10
【问题描述】:

安装Node.js后,我在VSCode上从GitHub导入了一个Angular项目,然后依次运行以下常用命令:

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".

这个question 试图解释那个warning,但他们没有解释安装本地CLI 的位置和时间,至少在我这里是这样。

请解释一下,谢谢。

编辑

这是pakage.json中的依赖,根据你的cmets,它们是相关的,但是如果没有明确的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"
  }

【问题讨论】:

  • 如果在 package.json 文件中指定,执行 npm install 可能会在本地安装 ng cli,它不会自动进入 PATH 环境变量。要执行它,您将需要 npx 命令,即:npx ng ..... 请发布您的 devDependencies,以便我们进行调查。
  • @DariuszOstolski 谢谢你的注意,我更新了。
  • 尝试在npm semantic version calculator 中输入@angular/cli 和版本~7.3.1。您会看到可以根据该模式安装版本 7.3.2

标签: angular angular-cli


【解决方案1】:

全球版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 当您根据package.json 中指定的版本执行命令npm install 时,它“本地”安装。 package.json 中列出的 @angular/cli 的版本号是多少?
  • @AlexanderStaroselsky 谢谢,我更新了,好像不是帖子里的那个!没有 3.2。
【解决方案2】:

你从 github 克隆了一个 Angular 项目,它有一个名为 package.json 的文件,它告诉 npm 当你执行 npm install 时要安装哪些包。

所以,在你的package.json中,请在devDependencies中查找"@angular/cli",你会发现写成这样的版本

"@angular/cli": "^7.3.2"

这是@angular/cli的本地版本。

当您运行 npm install 时,它会安装 Angular CLI 的那个版本(7.3.2),也就是本地版本。

但是当您运行npm install -g @angular/cli 时,它会自动全局安装最新版本(安装命令中的-g 标志)。而且,最新版本是7.3.5。因此,它给出了本地版本不同的警告,它正在使用本地版本的 Angular CLI

【讨论】:

    猜你喜欢
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 1970-01-01
    • 2019-11-07
    • 2019-03-26
    • 2019-01-02
    • 2017-07-06
    相关资源
    最近更新 更多