Install/Upgrade node.js

By n, nvm, brew

Posted by Yuankun Li on 2022-04-05

Node.js 版本介绍

Node.js官网下载的时候会看到LTSCurrent两个版本可以选项:

  • Current:一个新版本会先进入Current版本,将持续六个月的时间。
    • 只有我们非生产环境需要尝试新版本的一些特性时,才会选择。
  • LTS(Long Term Support): “长期维护版”,通常生产环境为了保证稳定性,选择这个版本。 它分为两个阶段:
    • Active LTS: 正积极维护和升级的版本,持续18个月,到期后进入Maintenance LTS
    • Maintenance LTS: 维护的LTS版本,持续18个月,到期后进入EOL版本
    • EOL(End of life),正式退出历史舞台。

主版本的 Node.js 进入Current版本将持续六个月的时间,在此期间库作者可以对其进行支持。 六个月之后,奇数版本(诸如 9、11 等)将变为不支持状态,只有偶数版本(诸如 10、12 等)变成 活跃 LTS 状态,并且准备投入使用。 LTS 发布版的状态是“长期维护版”,这意味着重大的 Bug 将在后续的 30 个月内持续得到不断地修复。 上线应该仅使用 活跃 LTS 或者是 维护 LTS 版。

根据官网的描述,我们可以看出CurrentLTS是随着时间相互转变的。

  • Current偶数版 6 months —> Active LTS 18 months —> Maintenance LTS 18 months —> EOL
  • Current奇数版 6 months —> unsupported

Long Term Support (LTS) schedule

node.js 相关链接

Node.js 安装方法

node -v 先查看是否安装node.js 和安装的版本。

通过nvm安装Node.js

安装 Node.js 的最佳方式是使用 nvm(Node Version Manager)。

安装nvm

cURL:

1
curl https://raw.github.com/creationix/nvm/master/install.sh | sh

Wget:

1
wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

或者也可以下载 安装程序 来安装。

1
brew install nvm

安装完成后,重启终端并执行下列命令即可安装 Node.js。

安装问题1:command not found: nvm

1
2
nvm
zsh: command not found: nvm

解决方法1

There might be some problems installing nvm in new mac, caused by the shell is not bash by default, check if it is bash with command

1
echo $0

§ if it is not run command

1
chsh -s /bin/bash

And then reopen the terminal

解决方法2

如果用的是zsh, 而不是bash. 将.bashrc中关于nvm的配置copy到.zshrc里边。
.bashrc中的copy到~.zshrc下就可以啦。

1
2
3
export NVM_DIR="/usr/local/Cellar/nvm/0.38.0"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" #This loads nvm bash_completion

然后再

1
source ~/.zshrc

nvm安装 Node.js

  1. Install Node.js

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 列出远程服务器上所有的可用版本
    nvm ls-remote

    ...
    v16.12.0
    v16.13.0 (LTS: Gallium)
    v16.13.1 (LTS: Gallium)
    v16.13.2 (LTS: Gallium)
    v16.14.0 (LTS: Gallium)
    v16.14.1 (LTS: Gallium)
    v16.14.2 (LTS: Gallium)
    -> v16.15.0 (Latest LTS: Gallium)
    v17.0.0
    ...
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 安装latest available version
    nvm install node

    # 安装最新的LTS版本
    nvm install --lts

    # 安装16.14.x 中最高(最新)的版本
    nvm install 16.14

    # 安装指定版本
    nvm install 10.15.0

nvm 切换版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 使用latest available version
nvm use node

# 安装stable版本
nvm install stable

# 使用最新的LTS版本
nvm use --lts

# 安装16.14.x 中最高(最新)的版本
nvm install 16.14

# 安装指定版本
nvm install 10.15.0

nvm列出已安装版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
nvm list
v10.15.3
v12.22.9
v14.19.1
v16.14.2
-> v16.15.0
default -> v10.15.3
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v16.15.0) (default)
stable -> 16.15 (-> v16.15.0) (default)
lts/* -> lts/gallium (-> v16.15.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.19.2 (-> N/A)
lts/gallium -> v16.15.0

nvm 设置default版本

1
2
3
4
# Set default node version as 8.1.0
nvm alias default 8.1.0
# Always default to the latest available node version on a shell
nvm alias default node

nvm 其他命令

1
2
3
4
5
6
# Run app.js using node 6.10.3
nvm run 6.10.3 app.js
# Run `node app.js` with the PATH pointing to node 4.8.3
nvm exec 4.8.3 node app.js
# 卸载指定版本 Uninstall a version
nvm uninstall <version>

Node.js 升级

安装node.js 新版本

  • via npm
1
2
3
npm cache clean -f
npm install -g n
n 16.15.0
  • via nvm
1
2
nvm install v16.15.0
nvm use v16.15.0
1
brew install node@16

Remove node_modules folder (optional)

Reinstall the dependencies

by yarn install or npm install

参考文章



show git comment