当前位置: 首页 > 后端技术 > Node.js

FE.BASE-深入NodeJS版本管理和自动切换:engineStrict两三件事情

时间:2023-04-03 20:02:14 Node.js

本文不讨论nvm的版本管理和使用。当有多个前端项目时,需要在每个项目的package.json中写入配置项“engineStrict”和“engines”。示例://package.json"engineStrict":true,"engines":{"node":"8.10.0"},如果使用npminstall安装,目前无法检测到以上配置项,即使节点版本错误,不会提示。如果使用yarn,会在控制台报warning。不过yarn不会自动切换node版本,nvm提供了一个稍微方便一点的方法:nvmuse命令会读取.npmrc中的node版本号进行切换。执行nvmrunapp.js也会先读取.npmrc的版本号,自动切换。nvmexecnpminstall可以代替npminstall,虽然有点长。但是为什么节点版本号要在两个文件中写两次呢?所以一些开发者选择在package.json的脚本中加入preinstall等脚本;一些开发人员选择全局安装包,例如avn;有些还编写自己的shell脚本进行切换。我也提供了一个shell方案,只在一处配置node版本(package.json);在vscode中使用终端时,版本号会切换,对我来说足够了。对于mac,添加~/.bash_profile:if[-e"./package.json"];thenv=$(grep-E'\"node\"\s*\:\s*\"[^"]+"'package.json-o|grep-E'[0-9|.]+'-o)nvm使用$vfi