今天和大家聊一聊node在windows下的版本管理工具NVM-windows


为什么需要node版本管理

主要原因有两个:

  • 开发时保证项目以及依赖库(尤其是原生的addon)API兼容。
  • 调试特定node版本下的软件问题。

推荐的node版本管理工具

使用方法

  1. 卸载你电脑上的node以及npm

  2. Releases · coreybutler/nvm-windows中下载最新的安装包

  3. 使用下面的命令就可以安装和切换指定版本的node了

    nvm install 10.17.0
    nvm use 10.17.0
    
  4. 使用下面的命令,检查是否成功切换到对应的版本

    nvm list
    

    image-20200610090009160

原理解析

nvm-windows是如何做到多个版本的node进行切换的呢?

  • 首先,nvm-windows添加了一个系统环境变量NVM_SYMLINK,指向了一个symlink(你可以简单理解为快捷方式)
  • 接着nvm将不同的node版本文件下载到自己的指定目录下
  • 最后将symlink的target指向特定版本的文件夹,就实现了node版本的切换。

image-20200610090838599

image-20200610090751994

image-20200610090941256

最终整体的原理如下图所示。

image-20200610090716450

这样就最终在windows实现了多个版本的node管理。

当然我们也可以参照这个思路去实现其他的软件在windows下的版本管理。


参考文档:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/node%E7%89%88%E6%9C%AC%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7NVM-windows%E4%BB%8B%E7%BB%8D%E5%8F%8A%E5%8E%9F%E7%90%86.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系