详解如何使用nvm管理Node.js多版本

 更新时间:2019年05月06日 10:56:07   作者:snowell  
这篇文章主要介绍了详解如何使用nvm管理Node.js多版本,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Node.js版本管理工具。Git地址:https://github.com/nvm-sh/nvm

安装nvm

Mac OS:

如果已经安装了node,在安装nvm之前,不需要卸载这个版本的node。这个版本的node后续会成为nvm中的system版本的node。

具体步骤如下:

首先安装C++编译器,使用XCode 的命令行工具,在Terminal中输入: xcode-select --install

然后在Terminal里输入:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

或者:

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

⚠️注意:命令中的v0.34.0是随着最新版本变化的。可以去Git查看最新的版本。

重启Terminal(不然nvm不生效),然后输入下面的指令来查看是否安装成功: command -v nvm。如果返回 nvm 字样,就代表安装成功。

用nvm操作node

查看目前已有的node

如果在安装nvm之前,系统已经安装了Node.js,那么这个版本的Node.js将会成为system版本。

此时,在Terminal里输入:nvm ls,查看都安装了哪些node版本,会出现如下返回结果:

->    system
iojs -> N/A (default)
node -> stable (-> N/A) (default)
unstable -> N/A (default)

上面返回的内容,代表,此时只有系统原来带的node版本,没有通过nvm安装任何的node版本。

安装其它版本的node

安装最新版本的node:

nvm install node

安装特定版本的node:

nvm install 10.15.3

其中,10.15.3为想要安装的node的版本号。

可以查看目前有哪些node可以安装:

nvm ls-remote

安装一个node的新版本以后,通过指令 nvm ls 查看会返回如下结果:

->   v10.15.3
     system
default -> 10.15.3 (-> v10.15.3)
node -> stable (-> v10.15.3) (default)
stable -> 10.15 (-> v10.15.3) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/dubnium (-> v10.15.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0 (-> N/A)
lts/dubnium -> v10.15.3

可以发现,除了system以外,还出现了一个v10.15.3,而且自动应用了这个v10.15.3版本。

node版本切换

使用如下指令切换node版本:

nvm use system

返回如下内容,代表已经切换到system版本:

Now using system version of node: v8.11.3 (npm v6.9.0)

输入如下指令,切换到刚刚安装的版本:

nvm use 10.15.3

返回如下内容,代表已经切换到10.15.3版本:

Now using node v10.15.3 (npm v6.4.1)

对于目前的10.15.3,应为它是第一个通过nvm安装的node版本,所以自动给它分配了一个alias:default。所以,也可以通过这个指令切换到这个版本上:

nvm use default

也可以通过这个指令切换到已安装的最新的版本:

nvm use node

由于目前最新的版本就是default的10.15.3,所以就等同于nvm use default。

再安装一个版本:8.16.0。输入指令nvm install 8.16.0,返回如下内容:

->   v8.16.0
    v10.15.3
     system
default -> 10.15.3 (-> v10.15.3)
node -> stable (-> v10.15.3) (default)
stable -> 10.15 (-> v10.15.3) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/dubnium (-> v10.15.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0
lts/dubnium -> v10.15.3

发现比之前多了一行-> v8.16.0,并且8.16.0被应用。

给特定版本分配alias

从8.16.0切换到别的版本以后,如果再想切换回来,只能通过nvm use 8.16.0。8.16.0不方便记忆,也不方便输入,可以通过给这个版本设置一个alias,来解决这个问题。输入如下指令:

nvm alias carbon 8.16.0

返回的结果:

carbon -> 8.16.0 (-> v8.16.0)

此时,再次输入nvm ls,会返回如下结果:

->   v8.16.0
    v10.15.3
     system
carbon -> 8.16.0 (-> v8.16.0)
default -> 10.15.3 (-> v10.15.3)
node -> stable (-> v10.15.3) (default)
stable -> 10.15 (-> v10.15.3) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/dubnium (-> v10.15.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0
lts/dubnium -> v10.15.3

会发现多了一行carbon -> 8.16.0 (-> v8.16.0),这代表carbon就是版本8.16.0,所以如果想切换到8.16.0,可以输入如下指令:

nvm use carbon

也可以通过alias指令,改变default所代表的版本:

nvm alias default 8.16.0

8.16.0就成为default版本了。

输入nvm alias可以查看都有哪些已经设置好的alias。

还可以通过nvm unalias carbon来取消carbon这个alias。

卸载node

nvm uninstall alias/node

注意:不能卸载当前正在运行中的node版本。

可以通过nvm uninstall来查看有哪些版本可以卸载。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Nodejs+Socket.io实现通讯实例代码

    Nodejs+Socket.io实现通讯实例代码

    本篇文章主要介绍了Nodejs+Socket.io实现通讯实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 使用node.js半年来总结的 10 条经验

    使用node.js半年来总结的 10 条经验

    从3月初来到帝都某创业公司的服务器团队实习,到现在已接近半年的时间。PS: 已转正,服务器端用的 Node。
    2014-08-08
  • Node.js使用supervisor进行开发中调试的方法

    Node.js使用supervisor进行开发中调试的方法

    今天小编就为大家分享一篇关于Node.js使用supervisor进行开发中调试的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 让你的Node.js应用程序处理数百万的API请求技巧

    让你的Node.js应用程序处理数百万的API请求技巧

    欢迎阅读关于优化 NodeJS 应用以处理数百万 API 请求的终极指南,如果你是一名开发人员,希望扩展应用,那么你来对地方了,在这篇博客中,我们将深入研究最佳实践和技术,帮助你处理高流量负载,确保应用保持性能和响应速度
    2023-10-10
  • 手把手教你使用TypeScript开发Node.js应用

    手把手教你使用TypeScript开发Node.js应用

    为了减少代码编写过程中出现的错误,以及更好的维护你的项目,本文将手把手教你配置一个简单的开发环境来编写Node.js的应用程序,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • node.js处理前端提交的GET请求

    node.js处理前端提交的GET请求

    这篇文章主要为大家详细介绍了node.js处理前端提交的GET请求,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 详细谈谈NodeJS进程是如何退出的

    详细谈谈NodeJS进程是如何退出的

    这篇文章主要给大家介绍了关于NodeJS进程是如何退出的相关资料,主要介绍了导致进程退出的三个因素:主动退出;未捕获的异常、未处理的 promise rejection;未处理的 Event Emitter error 事件 系统信号,需要的朋友可以参考下
    2021-07-07
  • express的中间件bodyParser详解

    express的中间件bodyParser详解

    这篇文章主要介绍了node.js中express的中间件bodyParser的使用方法,需要的朋友可以参考下
    2014-12-12
  • 命令行批量截图Node脚本示例代码

    命令行批量截图Node脚本示例代码

    这篇文章主要给大家介绍了关于命令行批量截图Node脚本的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-01-01
  • nodejs实现一个word文档解析器思路详解

    nodejs实现一个word文档解析器思路详解

    这篇文章主要介绍了nodejs实现一个word文档解析器的思路详解,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08

最新评论