有没有办法用 ng new 命令指定角度版本

Sau*_*ari 26 npm package.json angular-cli angular

我正在创建一个新的 Angular 项目,并希望所有 Angular 依赖项都来自稳定的第 7 版本。但是,似乎在运行ng new app命令时 Angular 总是获取最新版本。我的 package.json 显示了来自~8.0.0.

我知道我可以修改 package.json 并将这些依赖项设置为按照语义 7.xx 获取,但我更希望它自动完成,这样我就不会遇到与任何对等依赖项不匹配的机会.

那么,有没有办法告诉 CLI 获取特定的 angular 版本以及根据该 angular 版本的所有依赖项。

编辑:我已经尝试过安装 @angular/cli@7.xx 即使在我运行 ng 新应用程序之后这样做,我的依赖也会按照第 8 版获取

Sem*_*jić 14

无法告诉 Angular CLI 您要安装的特定 Angular 版本。相反,您可以切换到另一个版本的 Angular CLI,然后创建 Angular 项目。

首先运行这些命令:

npm uninstall -g @angular/cli
npm install -g @angular/cli@7.1.0
Run Code Online (Sandbox Code Playgroud)

安装后,您可以运行:

ng new angular7
Run Code Online (Sandbox Code Playgroud)

这将创建具有正确依赖项的 Angular 7 项目:

"@angular/animations": "~7.1.0",
"@angular/common": "~7.1.0",
"@angular/compiler": "~7.1.0",
"@angular/core": "~7.1.0",
"@angular/forms": "~7.1.0"
Run Code Online (Sandbox Code Playgroud)

  • 大多数人在执行上述操作之前需要运行 `npm uninstall -g @angular/cli`。 (2认同)
  • 当我卸载以前的版本时工作。谢谢。但是,我认为如果可以通过 `ng new` 命令提供版本参数会更好。 (2认同)

Shl*_*ang 10

可以通过使用npx命令下载并运行软件包而不安装它来完成。

例如,在当前文件npx @angular/cli@9 new my-projectmy-project中创建一个新文件夹,并使用 angular 版本 9 在此处放置一个新项目。@angular/cli在这种情况下,本地版本将与npx命令中使用的相同,因此您可以继续工作。

命令的语法如下npx @angular/cli@<package version> new <project-name>


spi*_*ala 6

您还可以在本地安装 angular CLI...让我们在 /my-folder 中说:

在我的文件夹中运行: npm i @angular/cli

这将安装 CLI 的最新可用版本,但您可以安装任何现有版本(例如npm i @angular/cli@8.x

当 npm 安装完成后,angular CLI 将位于:/my-folder/node_modules/@angular/cli

在我的文件夹中,您可以运行 ng new my-project

这将在此处创建一个新的 angular 项目:/my-folder/my-project

新项目的 angular 版本将匹配本地 CLI 版本。

最后你应该删除 /my-folder/node_modules 它不再需要了。

ng默认情况下,这些命令将使用本地 angular CLI(在本例中位于 /my-folder/node_modules 中)。如果没有本地 CLI,则将使用全局 CLI。