安装 Nodejs 有很多方式,而且各个操作系统上安装方式也不太一样。本节我们以 Mac 系统为例,演示如何通过 nvm 的形式来安装 Nodejs 。

为何选择 nvm 进行安装?

首先解决一个问题,安装 Nodejs 的方式这么多,为何 Peter 偏偏推荐 nvm https://github.com/creationix/nvm

我们先来讨论最方便的一种安装方式,那就是用各个操作系统原生的装包工具来安装 Nodejs 。例如,如果你使用 Ubuntu Linux ,可以用 apt-get 命令来安装,如果使用 Mac 系统似乎也可以用 brew 命令进行安装,不过 Peter 没试过。但是注意,这种方式是不推荐的,因为这样安装的 Nodejs ,一般版本都比较老。

第二种方式是去官网下载安装包 https://nodejs.org/en/ 。可以看到官网上不但提供了 LTS 也就是长期支持版,也提供了最新版。所以版本方面是不用担心过于陈旧了。但是这种方式也是不推荐的,并不是说这种方式不行,而是因为 nvm 这种方式更好。

于是就说到第三种安装方式,也就是通过 nvm 进行安装。nvm 的全称是 Node Version Manager , Nodejs 版本管理器。从它的 Github 上三万加的 star 数量 https://github.com/creationix/nvm ,就可以看出它的流行程度。推荐使用 nvm 安装 Nodejs ,主要有三点考量:第一,nvm 是命令行安装,有专业范,而且真的很方便,尤其是在无图形界面的服务器上安装,命令行就显得更方便;第二,nvm 中可以列出所有 Nodejs 版本,让我们既可以选择安装最新版,也可以选择安装稍微稳定一些的版本;第三,nvm 还可以同时安装多个 Nodejs 版本,并在各个版本之间来回切换。

总之,nvm 安装是目前专业 Nodejs 开发者最常见的安装 Nodejs 的方式。关于为何选择 nvm 进行安装,咱们就聊到这里。

安装步骤

下面进入实际的安装步骤。说一下我当前的系统情况:10.12 版本的 Mac ,系统上已经安装好了 xcode 。注意,如果要用 Mac 机做开发,安装 xcode 是必备前提。

参考 nvm 的 README https://github.com/creationix/nvm ,执行下面的命令,注意我们当前用的是 Mac 但是 ubuntu 或者其他 Linux 系统上应该也是一样的操作:

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

curl 命令会把网上的一个 install.sh 脚本下载到本地,并且用本地的 bash 命令行运行脚本中的各条语句。如果你对 bash 和 curl 不熟悉也没有关系。只需要知道,执行完这条命令就可以把 nvm 下载,然后安装到我们的机器上了。

安装好之后,一定要把命令行窗口关闭,再打开,或者直接打开一个新的命令行窗口,进行后续操作。

nvm ls-remote

nvm ls-remote 会列出所有可用的 Nodejs 版本,如果输出中看到很多很多个版本号,就表示 nvm 安装好了。最后一个版本号就是当前最新的 Nodejs 版本,我这里是 v11.0.0

nvm install v11.0.0

运行 nvm install v11.0.0 就可以把这个版本的 Nodejs 安装到我们的机器上了。

Now using node v11.0.0 (npm v6.4.1)
Creating default alias: default -> v11.0.0

输出中可以看到这样两行内容。第一句翻译过来就是:现在开始使用 v11.0.0 版本的 Nodejs ,npm 版本是 v6.4.1 。这意味着安装 Nodejs 的同时,npm 这个装包工具也安装好了。第二句翻译过来是:创建默认别名,default 指向 v11.0.0 。我们刚刚说过 nvm 是可以同时安装多个 Nodejs 版本,并在各个版本间自如切换的,切换方式就是通过修改 default 这个别名的指向,稍后我们演示一下。

下面来看看 Nodejs 是不是真的安装好了

node --version
v11.0.0

运行命令,查看 Nodejs 的版本号,发现果然是 v11.0.0 。

那关于 Nodejs 的安装步骤这部分,咱们就介绍完了。

切换版本

nvm 的毕竟是一个版本控制器,所以如果咱们的电脑上同时有几个项目,每个项目依赖的 Nodejs 版本又不相同的时候,就可以用 nvm 来安装所有需要的版本,并进行随时切换了。本节的最后一部分,来演示一下如何切换版本。

我们先来随便安装一个其他版本

nvm install v10.10.0

这次安装一个稍微旧一点的版本 10.10.0 。

装好之后

nvm ls
->     v10.10.0
        v11.0.0
default -> v11.0.0

运行 nvm ls 命令,可以看到所有安装过的版本。-> 指向的 v10.10.0 是当前命令行中,说的准确点就是当前 shell 中,正在使用的 Nodejs 版本。default 指向的是系统默认版本 v11.0.0 ,也就是说,打开一个新的命令行,Nodejs 版本就会变成 v11.0.0 。

那么,如何把 v10.10.0 变成默认版本呢?

nvm alias default v10.10.0

运行 nvm alias 命令,把 default 的指向改成 v10.10.0 。完成后,运行 nvm ls 可以看到 default 指向已经修改成功了。

如果不想修改默认版本,只是想临时修改一下当前命令行的版本,就可以直接用 nvm use v10.10.0 来实现。

关于切换版本,方式还不止这些,但是本节的重点还是放在如何安装 Nodejs 上,所以关于切换版本,我们暂时就讲这么多。

总结

这就是《使用 nvm 安装 Nodejs 》 这一节的主体内容了。总结几句:首先安装 Nodejs 的方式并不唯一,而使用 nvm 安装是目前 Peter 认为最为专业的一种方式。实际中使用也非常的方便,只要先通过一个命令安装好 nvm 这个工具,然后 nvm ls-remote 查看所有可用版本,然后用 nvm install 版本号 就可以安装成功了。如果系统上需要同时安装多个 Nodejs 版本,还可以通过 nvm alias 或者 nvm use 这样的命令来切换版本号。