在用过windows-nvm和volta后, 又发现了一个新的node版本管理工具, 试用了一段时间后感觉是目前我所用过的最优秀的Node版本管理工具。
首先我想先说说为什么放弃一些“好用”的Node版本管理工具, 陈述一下存在的问题
全局看不到东西
我用antfu的taze和@antfu/ni快速升级项目依赖, 如果全局下有pnpm这个包(能通过npm list -g --depth 0
看见),我这样配合一路回车就能快速升级依赖, 但是volta在全局下不止pnpm,yarn也看不见,taze就会提示我你可能没有安装pnpm、yarn, 是否全局安装? 就给我的一路回车这个行为中断了, 次数多了这个糟糕的中断带来的割裂感被无限放大
和pnpm的契合的不够好
目前常用的三个软件包管理器, npm、yarn、pnpm, 在这三者中pnpm的体验又是最好的, 但volta对pnpm的支持目前只停留在“实验性”支持, 这个有些不尽人意
和一些npm库检查工具契合度糟糕
比如用于检查项目依赖版本情况的npm-check-updates、用于自动调用包管理器命令的ni, 这些好用的东西都对volta有过一些错误报告至今未解决 (错误报告、相关issue)
缓慢的更新速度
虽然GitHub可以观察到一直在提交, 但上次更新release在2023年1月, 也是这一点促使了我去寻找代替品
没有卸载功能
使用volta将18.18.0升级到18.19.0, 他的行为就是再给你装一个新的, 如果你比较喜欢跟着版本更新, 电脑里将会有很多类似的版本(你当然可以手动去目录删除, 但是有些原始不是吗)
nvm-windows
pnpm也是可以管理Node版本的, 通过脚本安装pnpm
iwr https://get.pnpm.io/install.ps1 -useb | iex
,
然后使用pnpm env use --global 18
这样管理Node, 但在使用了几个小时候就放弃了, 目前还是有挺多bug的, 无法日常使用
nvm desktop是一个以可视化界面操作方式管理多个 Node 版本的桌面应用, 有以下优势
nvm xxx
改为了nvmd xxx
基于以上优点, 在多人的团队协作中, 这个nvm desktop是一个比较好的Node版本管理解决方案
列出所有可供使用的Node版本, 支持换阿里源
管理已经安装的Node版本
为项目指定Node版本, 不指定的则为全局Node版本
https://github.com/1111mp/nvm-desktop/releases/latest
这个软件并没有什么需要注意的, 但是因为一些玄学问题, 我建议你卸载干净电脑中的Node, nvm, Volta之类的软件, 重启电脑后再安装nvm-desktop
建议检查自己设备中的环境变量, 一些工具卸载后依旧会残留环境变量在个人设备中, 可能出现预期之外的错误, 建议进行清理 (比如装过Volta, 再装npm-check-updates, 你会因为这行代码被告知禁止检查全局)。