共计 814 个字符,预计需要花费 3 分钟才能阅读完成。
前言
想必大家在工作过程中都遇到过 node
版本带来的各种各样的问题,对于团队合作我的项目,你不能保障所有人的本地 node
版本都雷同,所以在我的项目文档中往往会写上以下内容:
- 为与线上环境统一,请保障以下版本
- node:15.x.x
- vue-cli:4.4.x
但这样并不能完全避免问题,比方多个不同我的项目中应用的 node 版本也有所不同,在来回切换中就可能造成 node 版本混用,那么应该如何防止这个问题?
如果这篇文章有帮忙到你,❤️关注 + 点赞❤️激励一下作者,文章公众号首发,关注 前端南玖
第一工夫获取最新文章~
package.json
对于前端工程化我的项目,根目录下都会有一个 package.json
文件,在该文件中有一个属性 engines,它示意申明 node 环境,如果不指定版本(或者指定*
作为版本),那么任何版本的 node 都能够。
"engines": {"node": ">=15.0.0"}
比方这里指定 node
版本必须大于等于 15。
理解更多 package.json
内容,能够查看这篇文章:相熟又生疏的 package.json
但对于 npm
来讲,但即便许多我的项目定义了最低 Node.js 版本,此配置也不会强制执行,也就是说它并不会阻止用户的安装操作。
npm
比方 node 版本限度了大于等于 15,而我应用 14.19.3 的版本来装置依赖
你会发现这样还是可能失常装置,并没有按咱们的期待阻止用户装置依赖。
yarn
同样的配置咱们再来试试 yarn
的体现是怎么的?
能够看到同样的配置,yarn 的体现是咱们想要的成果。如果咱们就是想用npm
,是否达到同样的成果?
.npmrc
对于 npm
咱们须要在我的项目根目录下新增 .npmrc
文件,并且显示启用严格的 node 引擎解决,如果一个我的项目蕴含一个 .npmrc
定义严格的引擎,那么执行 npm install
时如果 Node
版本不满足版本要求,装置依赖就会失败。
// .npmrc
engine-strict=true