【问题标题】:Getting wrong version of angular-cli with npm使用 npm 获取错误版本的 angular-cli
【发布时间】:2021-07-24 20:40:00
【问题描述】:

我想安装特定版本的 angular(特别是 8.3.19)。所以,我运行命令

npm install -g @angular/cli@8.3.19。现在,它已安装在我的机器上,但是当我执行 bg --version 时,我确实看到了以下内容:

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.803.29
@angular-devkit/build-angular   0.803.29
@angular-devkit/core            8.3.29
@angular-devkit/schematics      11.2.11
@angular/cdk                    8.2.3
@angular/cli                    11.2.11
@angular/material               8.2.3
@schematics/angular             11.2.11
@schematics/update              0.1102.11
rxjs                            6.4.0
typescript                      3.5.3
webpack                         4.42.1

其中明确指出 Angular cli 版本是 11.2.11,这不是我要求 npm 安装的。我不确定我在这里做错了什么。我对 npm 和 angular 很陌生。有什么建议吗?

【问题讨论】:

  • Erm ...您需要全局安装旧 cli 版本做什么?由于全局 cli 版本主要用于脚手架新的 Angular 项目,因此通常需要最新版本。
  • 呼应meriton——你可能想创建一个project,它是Angular 8.3.19——在这种情况下,它是local版本Angular,而不是全局。本地版本将在项目的 package.json 和 package-lock.json 中定义。全球版本大多无关紧要。
  • @meriton 和 @Roddy 我做了npm install,它确实在dv dependencies 中定义了angular/cli,但是当我在npm 安装后执行ng 命令时,它仍然会抛出` /usr /local/bin/ng: 没有这样的文件或目录`

标签: angular npm angular-cli


【解决方案1】:

如果您无意中在全局范围内安装了最新的 Angular,并想返回到以前版本的 Angular CLI,请尝试使用以下命令:

npm uninstall -g angular-cli
npm install -g @angular/cli@[whatever your version is]

(参考https://www.npmjs.com/package/@angular/cli

然后在本地项目中重新安装 package.json 中的依赖项:

npm install

确实没有必要降级全局版本,因为您可以在本地项目中安装任何以前版本的 Angular。如果您安装的 Angular 项目的 CLI 版本高于全局版本,那么在这种情况下,您应该升级全局版本,最好尽可能升级到最新版本,因为最新的 Node.js 库中的包是落后的兼容以前的版本,允许您在以前的版本中创建项目。

【讨论】:

  • 非常感谢您提供如此清晰详细的回答。我认为我的问题有两个方面。我同意,当我确实有 package.json(我有)时,我需要做的只是 yarn installnpm install 并且应该负责安装所有依赖项,包括它的任何版本的 agular-cli使用。但是,当我在 npm 安装后执行 ng serve 时,它显示 bash: /usr/local/bin/ng: No such file or directory
  • 尝试运行 ng --version 并验证您拥有的 Angular CLI 版本。还要检查您的 package.json “devDependencies” 部分是否包含具有匹配 CLI 版本的“@angular/cli”。 node_modules 文件夹在 npm 安装后也应该有一个子文件夹 \@angular\cli。还要检查您的环境路径是否包含 \npm 文件夹。还可以尝试关闭您的开发环境并重新打开、重新构建、重新运行应用程序。如果失败,请重新启动并重试。
  • 实际上我尝试了你上面建议的一切。另外,我清除了全局 node_modules 文件夹和本地 node_modules 文件夹。我还确保我使用的是相同版本的 node 和 npm,即(node 15.1.0 && NPM 7.0.8)仍然当我做npm install 它缺少大量的模块,包括 angular-cli。不知道还能做什么
  • 我的建议过去对我有用。另一个建议是重新安装此链接中的 NPM stackoverflow.com/questions/49748307/…
  • 非常感谢您的 cmets。他们非常非常有帮助。我意识到的一件事是,最后我遇到的问题与 npm 版本不匹配有关。
猜你喜欢
  • 2014-08-31
  • 2018-12-02
  • 2018-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
  • 2021-05-11
相关资源
最近更新 更多