如何用任意Angular CLI版本创建指定版本Angular项目?含版本指定与兼容查询
我之前折腾过老版本Angular的项目搭建,正好能帮你解决这些问题,下面一步步来:
1. 如何使用任意版本的Angular CLI创建指定版本的Angular项目?
核心思路是先创建项目框架,再手动指定Angular依赖版本(老版本CLI没有直接指定Angular版本的参数),具体步骤:
- 用当前CLI版本创建项目,但跳过自动安装依赖:
ng new your-project-name --skip-install - 打开项目根目录的
package.json文件,找到所有@angular/开头的依赖项(比如@angular/core、@angular/common、@angular/compiler等),把它们的版本号修改为你需要的目标版本 - 删掉自动生成的
package-lock.json(避免版本缓存问题) - 执行
npm install完成依赖安装
如果是新版本CLI(v6+),可以直接用--version参数指定,但你的场景是1.x CLI,上面的方法更稳妥。
2. 当前环境(Angular 4.2.4 + CLI 1.4.10)创建Angular 4.4.6项目的具体操作
针对你的环境,按下面的步骤来就行:
- 创建项目并跳过安装:
ng new ng4-4.6-project --skip-install - 编辑
package.json:- 把所有
@angular/*相关依赖的版本从4.2.4改成4.4.6(注意保持@angular/cli版本还是1.4.10,这个版本兼容Angular 4.x) - 示例修改后的依赖片段:
"dependencies": { "@angular/animations": "4.4.6", "@angular/common": "4.4.6", "@angular/compiler": "4.4.6", "@angular/core": "4.4.6", "@angular/forms": "4.4.6", "@angular/http": "4.4.6", "@angular/platform-browser": "4.4.6", "@angular/platform-browser-dynamic": "4.4.6", "@angular/router": "4.4.6", // 其他依赖保持不变 }, "devDependencies": { "@angular/cli": "1.4.10", "@angular/compiler-cli": "4.4.6", // 其他dev依赖调整到兼容4.4.6的版本即可 }
- 把所有
- 删除
package-lock.json和node_modules(如果已经生成的话) - 执行
npm install,等待依赖安装完成 - 验证版本:执行
ng version,会显示当前项目的Angular版本为4.4.6
3. Angular与Angular CLI兼容性矩阵的获取途径
对于老版本Angular(比如4.x),可以通过这几个方式获取兼容信息:
- 查看Angular CLI的GitHub Release Notes:每个CLI版本的发布说明里都会明确标注它支持的Angular主版本范围,比如CLI 1.4.x对应的就是Angular 4.x系列
- 查看对应Angular版本的官方文档:切换到Angular官网的历史版本文档(比如4.x版本的文档),在「Setup」或「CLI工具」章节里会给出推荐使用的CLI版本
- 查看npm包的peerDependencies:直接查看
@angular/cli包的package.json文件,里面的peerDependencies字段会列出它要求的@angular/core等核心包的版本范围,这就是兼容性的直接依据
内容的提问来源于stack exchange,提问作者Durgesh Pal
相关产品推荐
相关产品推荐

