如何使用 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.1,angular 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 项目?的主要内容,如果未能解决你的问题,请参考以下文章