安装 Node.js 有很多方式,这里以 macOS 为例来说明,如何使用 nvm 方式来安装Node.js

为何选择 nvm 来进行安装?

首先说明一个问题,为什么不直接在官网下载安装程序来安装呢?

可以看到现在的 Node.js 最新版本是:12.6.0。但因为 Node.js 更新很快,如果下一个版本出来,你又要重新下载安装,环境变量方面也需要重新修改。而运行老项目时,可能还依赖旧版本的 Node.js。你想来回切换版本,这样就非常麻烦了,所以我们选择使用nvm来安装。

nvm 的全称是 Node Version ManagerNode.js 版本管理器。使用它的好处有三点:

  • 第一,nvm 是命令行安装,有专业范,而且非常方便。尤其是在无图形界面的服务器上安装,命令行就显得更方便了。
  • 第二,nvm 中可以列出所有 Nodejs 版本,让我们既可以选择安装最新版,也可以选择安装稍微稳定一些的LTS版本。
  • 第三,nvm 还可以同时安装多个 Nodejs 版本,并在各个版本之间来回切换。

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

安装步骤

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

另外强烈推荐安装 Oh My ZSHHomebrew。如果没有安装,请按以下命令依次安装。

# 安装Command line tools
$ xcode-select --install

# 安装 Oh My ZSH
$ sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# 安装 Homebrew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

参考 nvm 的 README https://github.com/creationix/nvm ,执行下面的命令。

Tips: 我们当前用的是 Mac,但是如果在 Ubuntu 或者其他 Linux 系统上也是一样的操作:

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

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

安装好之后,就要来让命令行将nvm的环境变量生效。

# 务必确认你和我一样,已经安装了 `Oh My ZSH`,然后请运行
$ source ~/.zshrc

要让环境变量生效,还有一个简单的方法就是,把命令行窗口关闭,再打开。或者直接打开一个新的命令行窗口,都可以让命令行重新加载环境变量。接着看看 nvm 是否安装成功了

$ command -v nvm
$ nvm --version

现在 nvm 就可以正常使用了

Node.js 的可选版本

再来查看下有什么版本的 Node.js

$ nvm ls-remote

nvm ls-remote 会列出所有可用的 Node.js 版本。最后一个版本号就是当前最新的 Node.js 版本,我这里是 v12.6.0

$ nvm install v12.6.0

运行 nvm install v12.6.0 就可以把这个版本的 Node.js 安装到我们的机器上了。

Now using node v12.6.0 (npm v6.4.1)
Creating default alias: default -> v12.6.0

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

下面来看看 Node.js 是不是真的安装好了

$ node --version
v12.6.0

运行命令,查看 Node.js 的版本号,发现果然是 v12.6.0

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

切换版本

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

我们现在安装一个LTS 也就是长期支持版本Node.js

$ nvm install v10.16.0

装好之后

nvm ls
->     v10.16.0
        v12.6.0
default -> v12.6.0

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

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

nvm alias default v10.16.0

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

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

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

设置 npm 为淘宝镜像

本节最后一部分,说下npm的淘宝镜像。因为咱们在国内做开发,需要在npm上去下载各种包,经常会碰到网络不通畅导致包直接安装失败。比较简单实用的方法就是使用 npm淘宝镜像,这样你再运行命令装包的时候,就会直接从npm淘宝镜像下载安装。

npm install -g cnpm --registry=https://registry.npm.taobao.org

将来咱们安装包的时候,只需要将npm改为cnpm即可

cnpm install ...

具体怎么装包,课程后面有一节,会专门讲到。

总结

这就是《使用 nvm 安装 Nodejs 》这一节的主体内容了。总结几句:

  • 首先安装 Node.js 的方式并不唯一,而使用 nvm 安装是目前被认为最为专业的一种方式。
  • 实际中使用也非常的方便,只要先通过一个命令安装好 nvm 这个工具,然后 nvm ls-remote 查看所有可用版本。
  • 然后用 nvm install 版本号 就可以安装成功了,一般推荐安装 LTS 版本。
  • 如果系统上需要同时安装多个 Node.js 版本,还可以通过 nvm alias 或者 nvm use 这样的命令来切换版本号。
  • 如果在国内开发,记得安装 npm淘宝镜像

已添加到喜欢了