是否可以使用ng new命令指定角度版本

时间:2019-06-14 12:49:10

标签: angular npm angular-cli package.json

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

我知道我可以修改package.json并将这些依赖项设置为按照语义7.xx进行获取,但是我希望它能够自动完成,以免出现不匹配的情况任何同级依赖项。

因此,有没有一种方法可以告诉CLI获取特定的角度版本以及根据该角度版本的所有依赖项。

编辑:我已经尝试安装@ angular / cli @ 7.x.x。即使执行此操作(如果我运行ng新应用程序),也会根据第8版获取我的依赖

3 个答案:

答案 0 :(得分:7)

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

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

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

答案 1 :(得分:5)

您还可以在本地安装有角度的CLI ...在/ my-folder中说:

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

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

完成npm安装后,角度CLI将在此处登陆: / my-folder / node_modules / @ angular / cli

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

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

新项目的角度版本将与本地CLI版本匹配。

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

ng命令将默认使用本地角度CLI(在这种情况下,在/ my-folder / node_modules内部)。如果没有本地CLI,则将使用全局CLI。

答案 2 :(得分:1)

没有办法告诉Angular CLI您要安装的特定Angular版本。相反,您可以切换到其他版本的Angular CLI,然后创建Angular项目。

首先运行以下命令:

npm uninstall -g @angular/cli
npm install -g @angular/cli@7.1.0

安装后,您可以运行:

ng new angular7

这将创建具有正确依赖性的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"