node环境在前端开发中必不可少,但是很多情况下会存在不同项目所依赖的node版本不一致的情况,如:A项目依赖 v18 以上版本,B项目却不支持 v18 以上版本node环境,这个时候就产生冲突了。
node版本管理
这种情况下,我们就得考虑多node环境了。
采用node版本管理工具,对不同项目启用不同node环境
市面上用的较多的工具如:nvm、Volta 等
nvmw
本人用工具是 nvmw ,该工具是通过 node 实现的一个脚本工具,比较轻量,只需npm全局安装一下即可使用 (注:npm全局安装的方式使用可能会存在一些问题,我先讲官网的安装使用步骤,下面再讲我自己是如何安装使用这款工具的)
安装
npm install -g nvmw
安装node依赖
nvmw install v8.12.0
只在当前终端命令中改变相应node版本
nvmw use v8.12.0
全局更改node版本
nvmw switch v8.12.0
问题
根据文档步骤安装使用,发现了一些问题,为此我还特意去翻看了源码
运行nvmw命令报错:
如果出现 program.xxxxxx is not function , 这个错误是因为 nvmw 库长期没有维护,所依赖的Commander库引用方式有变化而导致的
nvmw use 不生效:
nvmw use xxx 后并没有更改当前终端中 node 的版本,不生效原因可能是因为计算机权限安全不允许或nvmw的cmd脚本是在子进程中调用导致
我的安装使用方式
废了九牛二虎之力把源码给了解了一下,终于找到了这个脚本的正确使用姿势:
首先,在D:盘下 新建一个文件夹命名 nvmw ,然后将 nvmw 源代码拉取到创建的文件夹中,npm install 下载项目依赖
更改 lib\cli.js 文件commander的引入方式:
这时基本完成,就差最后一步,在环境变量 PATH 中配置路径 D:\nvmw\bin
环境变量PATH配置:右击此电脑 > 属性 > 高级系统设置 > 环境变量 > 系统变量中的PATH(双击)> 新建 > 填写路径D:\nvmw\bin > 确定
现在可以通过 nvmw 命令进行node版本管理了。
后面我将会写篇文章,讲讲 nvmw 是如何实现 node 版本管理的。
如果觉得内容对你有帮助或者有所成长,麻烦请点个小小的赞加收藏,谢谢。 ^o^