【nodejs】翻译-- 使用nvm管理在电脑上装的多版本的nodejs

当你开发nodejs的 应用时,你可能会面对这么一种情况,就是你需要装多个不同版本的node在电脑上。这种情况可能发生在,当你有多个项目时,里边有不同的版本依赖需要去安装不同的版本,又或者正在开发的应用需要去兼容不容的node版本。没有一个好工具的话,基于一个项目的特定版本要求,这会增加许多大量的工作量并且会手动的去装很多不同的版本。幸运的是,这里有个好工具。

介绍nvm

nvm就是一款node版本管理器。出于对于这个名字的理解上,这个工具就会帮助你在不同的项目里不同的node版本间进行管理和切换。它提供了命令窗口,你可以使用一条很简单的命令就对不同的node版本进行安装。可以设置默认的Node版本,并且在默认值和更多版本号之间进行切换。

操作系统支持

nvm支持Linux和mac,但是并不是就不支持Windows操作用户。这里有一个名叫nvm-windows的工具提供给Windows用户去管理这个node版本。不管这个名字如何,nvm-windows不是nvm的克隆版,也不是与nvm毫无关联。然而,以下基本的命令(安装,不同版本之间的列举和切换)在nvm和nvm-windows都是通用的。

安装

首先我们介绍在Windows、mac、Linux如何安装。

        windows:   在你的电脑上确保卸掉所有的nodejs版本,否则会跟这个安装起冲突。之后,下载最新的安装包 。运行安装程序,然后下一步下一步傻瓜式安装就可以了。

       macOS/Linux:  虽然建议你移除掉以前nodejs版本,但是也可以不用这么做。这里有大量的在线资源可以让你去选择怎么做。当然如果你能移除掉所有的npm安装也是最好的,因为npm的安装也可能会跟nvm进行冲突。你也可以在电脑上使用命令窗口去安装。对于mac操作系统来说,你可以安装Xcode命令行工具。你可以运行以下语句进行安装:

xcode-select --install

在Linux上,你可以使用基础的安装包,使用以下工具(详情:apt):

sudo apt-get update
sudo apt-get install build-essential

如果使用 c++编译器的话,你可以使用cURL或者Wget去进行安装。在终端上,输入以下:

 使用cURL

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

使用Wget

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

ps:版本会随着项目的发展而改变,所以最好去官网找一下最新的版本

可以克隆nvm的源码,然后对里边的bash文件进行配置,所以nvm才会适用于各种终端。

OK,nvm已经装好可以试用了。

使用nvm

假设你已经安装正确,这个nvm命令行已经适用于你的终端。我们来看看如何使用它去管理nodejs版本吧。

     安装多版本的nodejs

nvm最重要的功能之一就是管理安装不同的nodejs版本。如此,nvm提供了nvm install 这个命令。你可以安装特定的想要的nodejs版本,只需要使用这个命令即可。例如:

nvm install 8.9.4

在终端中使用以上命令,nvm将会安装遵循版本规范的nodejs 8.9.4版本。假如你想要安装最新的nodejs版本,例如,最新的8.9包,你只需要运行以下命令:

nvm install 8.9

nvm,将会安装nodejs版本8.9.x的,这个x其实就是最高版本。假如写成8.9.4,那就会装上8.9.4的nodejs版本在你的系统上,你可以看到所有可安装的版本,只需使用以下命令:

nvm ls-remote

而nvm-windows,则是:

nvm ls available

npm

当你安装一个nodejs的实例时,nvm也会安装一个完整的npm版本。每一个node版本都会携带一个不一样的npm版本,你可以执行npm -v的命令去查看你当前所使用的npm版本是哪个。全局安装npm包是不能够在不同的nodejs版本里边共享的,因为会导致不兼容。然而,它们沿着现在的node版本下在此目录下~/.nvm/versions/node/<version>/lib/node_modules 安装。这里有一个好处就是,用户不需要sudo的权限去安装一个全局包。

幸运的是,当安装一个新的特定的nodejs版本时候,你也可以重新安装这个npm全局包。例如:

nvm install v9.0.0 --reinstall-packages-from=8.9

根据以上运行命令,nvm将会装9.0.0 的nodejs版本,联合着npm版本一起,并且重新安装指定的8.9版本的npm。

ps命令:

    node:安装最新的nodejs版本

     unstable:将会安装nodejs 0.11 版本,最新发布的不稳定版

所以,当你想要安装最新的nodejs版本时,你只需要

nvm install node

你也可以卸载任何的你不想要的实例,例如:

nvm uninstall 0.11

在不同的版本之间切换

迄今为止,我们已经了解了如何安装不同的node版本。现在让我们来试一试如何在不同的nodejs版本之间切换。注意的第一点,当安装最新的nodejs版本,是默认使用的。所以当你安装了最新的nodejs版本,使用命令 node -v 之后,你会看到最新的版本号。

为了去切换不同的版本号,nvm 提供了nvm use 这个命令。这个工作界面与cmd及其相似。所以你只需要安装一个或者不同的nodejs版本即可。

使用以下命令去验证以上说法,你可以:

切换到nodejs 8.9.4版本

nvm use 8.9.4

现在切换到nodejs 9.3.0版本

nvm use 9.3

现在切换到最新的nodejs版本

nvm use node

切换到最新的LTS nodejs 版本

nvm use node --lts

当切换不同的nodejs版本时,nvm将会利用你终端上的node实例去找相符合的nodejs版本。

你还可以创建自定义别名,而不是nvm提供的。例如使用以下命令:

nvm alias awesome-version 8.9.4

你也可以直接使用别名切换,可以使用以下命令:

nvm use awesome-version

你也删除别名运用以下命令:

nvm unalias awesome-version

你可以设置默认的目标实例设为default别名,就像这样:

nvm alias default node

例举所有的实例

任何时候你都可以检查你安装了哪些node实例,使用以下命令:

nvm ls

你也可以使用以下命令检查当前版本:

nvm current

基于每个项目制定特定node版本

版本管理例如像rbenv允许你去制定特定的ruby版本基于每一个项目。nvm也有这样类似的方法去创造一个 .nvmrc文件在项目里边去制定一个版本号,你也可以cd到文件目录下边去使用命令nvm use . nvm将会从.nvmrc文件中读取内容去制定你使用的node版本。

 

原文:https://www.sitepoint.com/quick-tip-multiple-versions-node-nvm/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值