如何使用 CLI 创建特定版本的 Angular 项目?

Posted

技术标签:

【中文标题】如何使用 CLI 创建特定版本的 Angular 项目?【英文标题】:How to Create a specific version of Angular Project using CLI? 【发布时间】:2019-02-19 05:54:55 【问题描述】:

我的 npm 版本是 5.5.1angular cli 版本是 6.2.1。当我尝试使用命令 ng new Project_name 创建一个新项目时,它正在创建最新版本的 Angular(在我的情况下 它正在创建 Angular 版本 ^6.1.0 )。但是我想要 Angular4。 我的问题是如何创建这个 Angualr2/4/5(特定版本而不是最新版本)? 我认为更改 package.json 中的版本值对我的情况没有帮助,因为旧版本和最新的 6 版本存在一些差异(例如一个文件的名称已从angular-cli.json 到 anguar.json 并且不仅名称而且内容也改变了。) 我也在 Angular-cli Github 网站上提出了同样的问题。 click here

提前致谢!!

【问题讨论】:

恕我直言,您必须安装与 Angular4 一致的 CLI,当时已发布。 AFAIK 没有使用旧版本创建项目的标志。 Angular 6: How to install a previous version of Angular project的可能重复 【参考方案1】:

使用 CLI 你不能创建特定的角度版本。

但您可以将特定版本的 Angular CLI 安装到特定文件夹中。

例如:

第一个 create new folder 在任何驱动器内。我将在 D 盘中创建演示文件夹。例如:d:\projects\demo

然后在Command Prompt(cmd) 中找到这个文件夹,或者在Windows 中创建的文件夹地址栏中输入cmd 并回车。

现在输入 Angular 特定版本命令:npm install @angular/cli@1.7.x 用于 Angular 5。对其他版本使用类似的命令。

完成安装后,只需在您最近安装 Angular 的特定文件夹中创建新的 Angular 项目。例如:d:\projects\demo\

现在使用命令 ng new Project_name 创建 Angular 项目,它将创建 your specific angular version 项目。

在我的示例中,它将创建 angular 5 项目。

【讨论】:

你真是太棒了!!它正在工作。但有一件事,您能否更新您回答的最后一行,例如“之后使用命令 d:\projects\demo\ ng new Project_name 在演示文件夹中创建项目,它将创建角度 5” 好的,感谢更新。 不要在 demo/ 文件夹中创建项目,而是使用ng new Project_name --directory ./ 在当前目录中创建该项目。 这对我不起作用。最后一步失败:'ng' 不是内部或外部命令、可运行程序或批处理文件。 我仍然收到“路径 package.json 上的合并冲突”,因为我不想拥有 2 个不同的节点模块文件夹,我的全局是 v12,我想安装 v11,我能做些什么? @SerzhanAkhmetov【参考方案2】:

您可以使用 npx 命令,它是 Node.js 包运行程序,通过直接从注册表运行包而不影响全局安装的包注册表 (-g)。

@next 将自动安装来自 Angular repo 的最新预览版本(现在指的是版本 9 rc),如下所示:

npx @angular/cli@next new Angular9Project

否则,您可以提供具体版本:

npx @angular/cli@7 new Angular7Project

NPX 与 NPM 5.2+ 版本捆绑在一起

【讨论】:

【参考方案3】:

简单的方法: 例如:npm install -g @angular/cli@6 这里 -g 标志告诉 npm 全局执行此安装。最后的 6 告诉 npm 我想要最新的可用版本 6。

如果我想为 Angular 5 创建一个新应用程序,我会这样做:

> npm install -g @angular/cli@1
> ng new my-ng5-app

请记住,Angular CLI 是 Angular 5 的 1.7 版。

如果我想为 Angular 6 创建一个新应用程序,我会这样做:

> npm install -g @angular/cli@6
> ng new my-ng6-app

如果我想为 Angular 7 创建一个新应用程序,我会这样做:

> npm install -g @angular/cli@7
> ng new my-ng7-app

希望对你有帮助,谢谢....!

阅读完整博客click here

【讨论】:

很好的答案,它帮助了我。但是你为什么要全局安装“cli”?它使用“npm i @angular/cli@7”对我有用,因此它将版本 7 安装在文件夹上并将我的全局 cli 保留为版本 8 -g 标志不会影响其他项目吗?【参考方案4】:

这应该可以 使用名为 npx npm i -g npx 的包,当您需要创建 Angular 项目时,第一次使用此命令 npx -p @angular/cli ng new hello-world-project 之后你可以使用普通命令像ng g c abc一样工作

【讨论】:

【参考方案5】:

创建一个package.json 文件,然后定义要安装的角度版本,然后运行npm install,它将在所需版本中创建项目,而与全局角度 cli 无关

【讨论】:

【参考方案6】:

TL;DR使用名为 npx 的包(如果尚未安装,请运行 npm i -g npx 以及当您需要创建 Angular 项目时,第一次使用这个命令:npx -p @angular/cli@latest ng new hello-world-project

注意:将 @latest 替换为您想要的 CLI 版本。记住:, 对于 Angular 6 及更高版本,Angular-CLI 版本已被提升到与 Angular 相同的级别,例如 npx -p @angular/cli@6 创建 Angular 6 项目和 npx -p @angular/cli@7 创建 Angular 7 项目等。

说明: 例如,如果你想创建 angular 4 项目,修改上面的命令以包含 angular-cli 版本 1.4.10 像这样npx -p @angular/cli@1.4.10 ng new hello-world-project,然后当您的项目设置完成后,您可以返回使用普通的ng generate 和其他命令。

Angular-cli 版本指示将关联哪个 Angular 版本 使用项目和 angular-cli 1.4.10 创建 angular 4 项目

编辑:

这里有一些有用的版本信息,说明哪个 cli 创建了哪个 Angular 版本。

 CLI version     Angular version

 1.0 - 1.4.x       ^4.0.0
 1.5.x             ^5.0.0
 1.6.x - 1.7.x     ^5.2.0
 6.x               ^6.0.0
 7.x               ^7.0.0

另外,如果你想使用最新的稳定版本来创建某个 Angular 项目,你可以使用像这样的 npx 命令npx -p @angular/cli@1.7,它将使用 cli 版本 1.7.4,这是 angular 5 的最新稳定版本。

【讨论】:

以上是关于如何使用 CLI 创建特定版本的 Angular 项目?的主要内容,如果未能解决你的问题,请参考以下文章

安装特定版本的 ng cli

如何使用 Angular CLI 在特定文件夹中生成组件?

使用 Angular-CLI 创建组件并将其添加到特定模块

如何获得 Angular 版本?

如何使用 Angular cli 升级 Angular 的次要版本

如何使用特定和 exaclty 包版本重新制作角度工作区?