专栏首页黄腾霄的博客2020-6-10-node版本管理工具NVM-windows介绍及原理

2020-6-10-node版本管理工具NVM-windows介绍及原理

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


为什么需要node版本管理

主要原因有两个:

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

推荐的node版本管理工具

使用方法

  1. 卸载你电脑上的node以及npm
  2. Releases · coreybutler/nvm-windows中下载最新的安装包
  3. 使用下面的命令就可以安装和切换指定版本的node了 nvm install .17.0 nvm use .17.0
  4. 使用下面的命令,检查是否成功切换到对应的版本 nvm list

原理解析

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

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

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

这样就最终在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 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2020-6-5-如何编译electron依赖的c++模块

    像java,python这类代码是需要对应平台的vm环境,转成平台相关代码才能够执行。

    黄腾霄
  • 小心double的比较

    对于double的比较,存在一些可能的坑,大家应该都清楚。比如容易注意的是double==double的精度问题。但是比较少注意的是double.NaN的比较

    黄腾霄
  • 2019-7-23-使用代码启动服务

    第一个是设置服务的启动类型——手动、自动、自动(延时启动)、禁用,第二个是控制服务的状态——启动、停止、暂停、恢复。

    黄腾霄
  • Elasticsearch Cluster 安装与配置

    本文节选自《Netkiller Database 手札》作者:netkiller 网站: http://www.netkiller.cn 23.1.2. Ela...

    netkiller old
  • 升级Windows 10后释放C盘空间

    相信大家在微软免费推送升级Windows 10浪潮中,大多数朋友都从Windows 7或Windows 8.1顺利升级到了Windows 10,对于那些原来C盘...

    杨强生
  • 谈一谈|Markdown转为word文档

    Markdown是一种可以使用普通文本编辑器编写的标记语言,很多人喜欢使用markdown来写博客,但是现在日常中使用更多的是word文档。所以就涉及markd...

    算法与编程之美
  • 上市在即,美团点评与口碑饿了么的新战役将走向何方?

    旷日持久的美团点评上市最终以IPO价格区间的确定而告一段落。据悉,美团点评在香港IPO的价格区间最终确定在了60-72港币之间,而其估值则确定在了455亿美元-...

    孟永辉
  • 作为开发者犯过的两次愚蠢的错误 一定切记切记

    上周我和同事们简单地聊了聊我们工作中搞砸的那些事儿。如今早已不再犯那些错了,所以想起过去就觉得很好笑。但是笑归笑,其实当时犯的这些错让我们受益颇深。

    java架构师
  • javascript实例:逐条记录停顿的走马灯

    效果: ? 需求: 1.记录循环滚动; 2.每组记录之间不能有留白; 3.每条记录上移到容器的顶部时要停顿一下; 4.鼠标移入容器时停止滚动,移出时继续滚动。 ...

    ^_^肥仔John
  • ARTS-16-什么是应用性能监控APM

    Tip:主要是为了总结和归纳在日常工作中所遇到的知识点。学习至少一个技术技巧。在工作中遇到的问题,踩过的坑,学习的点滴知识。

    公众号_松华说

扫码关注云+社区

领取腾讯云代金券