Node.js 越来越热,应用的场景也越来越多。

在开发中,我们可能同时在进行多个 node 项目,而这些不同的项目所使用的 node 版本又是不一样的,或者是要用更新的 node 版本进行试验和学习。

这种情况下,对于维护多个版本的 node 将会是一件非常麻烦的事情,而 nvm 就是为解决这个问题而产生的,他可以方便的在同一台设备上进行多个 node 版本之间切换。

了解更多:https://github.com/creationix/nvm

安装 nvm

如果你已经单独安装过 node ,建议卸载 node 并清除 npm 中的全局组件后,再继续 nvm 的安装。

Windows 用户可以直接下载 >>引导程序<< 进行安装。

安装后可以在命令行进行验证:

$ nvm version
> 1.1.7 # 如果提示不是内部命令,需要手动把 nvm 的安装路径添加到 环境变量 。

其他操作系统用户,可以看这里:https://github.com/creationix/nvm/blob/master/README.md

切换源

老生常谈。因为国内网速原因,你可以将 nvm 的默认仓库替换为淘宝的镜像地址。

# nvm node_mirror [url]
$ nvm node_mirror https://npm.taobao.org/mirrors/node

查看 Node

# 查看本地已安装
$ nvm list && nvm ls # 查看远程可安装
$ nvm list available && nvm ls available

安装 Node

# 安装最新版
$ nvm install latest # 安装指定版本
# nvm install version
$ nvm install v10.15.0

切换 Node

# nvm use version
$ nvm use 10.15.0

卸载 Node

# nvm uninstall version
$ nvm uninstall v10.15.0

沙箱式存储全局组件

非 nvm 管理的情况下,全局组件是安装到 /usr/local/lib/node_modules 下,然后通过软连接的方式把包中 bin 目录下的可执行文件链接到 /usr/local/bin 。不管用什么版本都装到这些目录下,多版本就没法玩了。

在 nvm 管理下,以沙箱的方式,全局组件会装到 .nvm 目录的当前版本 node 下,也就是装在 nvm 这个沙箱里,跟在指定版本的 node 下,当前有什么版本的 node ,就有对应的全局组件。这是 nvm 强大的地方,在多运行环境的管理和切换极为好用。

简单来说,在 nvm 下,我们可以在不同的 node 版本下,安装不同版本的全局组件。以便灵活的适应我们的开发环境需求。

使用.nvmrc文件运行

当然,nvm 的应用不仅仅局限于我们的开发环境,在线上的服务器中,nvm 也可以得到应用。

为了让不同的应用系统使用各自所需的 node 版本运行,我们只需在各应用系统内的根目录里生成一个 .nvmrc 文件,在其内写一个版本号,利用 nvm run app.js 的方式运行系统,即可完成要求。不过可惜的是,目前这项功能只支持linux,OS系统。

参考

  1. nvm介绍及使用 -- 长城_changcheng:https://www.jianshu.com/p/d0e0935b150a

nvm -- node 多版本管理器的更多相关文章

  1. 使用Node.js版本管理器

    使用Node.js版本管理器 完全卸载Node.js 清除Package缓存:npm cache clean --force 卸载Node.js:wmic product where caption= ...

  2. Mac OSX 安装nvm(node.js版本管理器)

    我的系统 1.打开github官网https://github.com/,输入nvm搜索,选择creationix/nvm,打开 2.找到Install script,复制 curl -o- http ...

  3. 使用nvm进行node多版本管理

    nvm与Python的virtualenv和Ruby的rvm类似.NVM (Node Version Manager,Node多版本管理器)是一个通用的叫法,它目前有许多不同的实现.通常我们说的 nv ...

  4. Node版本管理器NVM常用命令

    NVM是什么?nvm (Node Version Manager) 是Nodejs版本管理器,可对不同的node版本快速进行切换. 为什么要用NVM?基于node的工具和项目越来越多,但是每个项目使用 ...

  5. nodejs版本管理工具NVM(Node Version Mene)

    最近打算用心学习nodejs,所以在学习中了解到NVM-nodejs的版本管理工具,下面我就记录下我学习并且安装的详细过程,请大神们放过~~第一步.你要先把你本机上安装的nodejs以及npm相关的东 ...

  6. Windows上安装nodejs版本管理器nvm

    nvm最新的下载地址 Node版本管理器--nvm,可以运行在多种操作系统上.nvm for windows 是使用go语言编写的软件. 我电脑使用的是Windows操作系统,所以我要记录下在此操作系 ...

  7. 在windows中使用 nvm 实现node多版本管理

    所谓 NVM 就是 Node Version Manager 的缩写,即 node的版本管理工具,我们可以在电脑中安装多个不同版本的node,并借由 NVM 来实现自由切换,详情可点击查看 NVM 官 ...

  8. Windows上安装nvm--nodejs版本管理器

    nvm最新的下载地址 Node版本管理器--nvm,可以运行在多种操作系统上.nvm for windows 是使用go语言编写的软件. 我电脑使用的是Windows操作系统,所以我要记录下在此操作系 ...

  9. node包管理器

    NPM小结   nodejs的出现,可以算是前端里程碑式的一个事件,它让前端攻城狮们摆脱了浏览器的束缚,踏上了一个更加宽广的舞台.前端的可能性,从此更加具有想象空间. 随着一系列基于nodes的应用/ ...

随机推荐

  1. java基础(七)--基本类型转换

    一.转换规则 1.类型转换的原则是: 小容量可以自动转成大容量,大容量转成小容量,需要强制转换,有些类型之前不能转换 判断以下语句是否符合要求 2.默认的识别数字 整数默认->int 浮点数默认 ...

  2. 让表单input等文本框为只读不可编辑的方法-转

    有时候,我们希望表单中的文本框是只读的,让用户不能修改其中的信息,如使<input type="text" name="input1" value=&qu ...

  3. Day03_破解Windows7系统密码&用户与组管理&服务器远程管理

    破解Windows系统密码 一.利用5次shift漏洞破解win7密码 1.1 漏洞 1.在未登录系统时,连续按5次shift键,弹出程序c:\windows\system32\sethc.exe 2 ...

  4. Python随机数函数

    Python随机数函数: ''' choice(seq) 从序列的元素中随机选出一个元素 randrange ([start,] stop [,step]) 从指定范围内,在指定步长递增的集合中 获取 ...

  5. filter 函数基本写法

    filter 返回一个符合要求的元素所构成的新列表 filter(函数,可迭代对象)   map 和 filter 混合使用将 lst_num 中为偶数的取出来进行加2 和 乘2 操作   2020- ...

  6. PHP is_infinite() 函数

    ------------恢复内容开始------------ 实例 判断一个值是否为无限值: <?php echo is_infinite(2) . "<br>" ...

  7. PHP strrchr() 函数

    实例 搜索 "world" 在字符串中的位置,并返回从该位置到字符串结尾的所有字符: <?php高佣联盟 www.cgewang.comecho strrchr(" ...

  8. 每日一道 LeetCode (5):最长公共前缀

    前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee: https://gitee.com ...

  9. Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树

    Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 目录 Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 0x00 摘要 0x01 背景概念 1.1 词向量基础 ...

  10. 如果连这10个Python缩写都不知道,那你一定是Python新手

    简介 对于许多开始学习编程的人来说,Python已经成为他们的首选.Python有非常直观的语法和支持动态类型的灵活性.此外,它是一种解释语言,这使得使用交互式控制台进行学习成为可能.基本上,我们只需 ...