Skip to content

Ubuntu20.04 安装 Node.js

约 1135 字大约 4 分钟

2025-01-20

1. 通过APT命令安装

Ubuntu 20.04默认的软件仓库中,提供了一个版本为10.19.0Node.js。这个版本已经比较老了,如果可以满足你的需求的话那么可以通过下面的命令进行安装:

$ sudo apt update
$ sudo apt install nodejs

安装好以后,可以用下面的命令查看版本号:

$ node -v
v10.19.0

2. 通过PPA安装

如果想安装其他版本的Node.js,那么可以通过PPA(personal package archive)进行安装。假如我们想安装大版本号为16Node.js,那么可以先执行下面的命令安装PPA(如果要安装其他版本的,把16换成其他版本号即可,比如14):

$ curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh
$ sudo bash nodesource_setup.sh

执行了上面的命令后,就可以用APT安装Node.js了:

$ sudo apt install nodejs

安装成功后再用node -v命令看一下版本号,我执行的结果如下:

$ node -v
v16.20.0

通过这种方式安装,由于nodejs包中已经包含了nodenpm,所以不需要单独安装npm了。

3. 通过Node版本管理器(NVM)

另外一种安装方式是通过Node版本管理器(Node Version Manager,NVM),这个工具可以让我们非常方便地在同一个系统中安装和使用不同版本的Node.js。

需要有代理

执行下面的命令可以安装NVM:

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

上面的命令先下载一个脚本文件install.sh然后运行它,这个脚本会将NVM仓库克隆到本地~/.nvm目录中,然后在~/.bashrc文件中写入如下内容用于设置环境变量:

export NVM_DIR="$HOME/.nvm"
[ -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

为了使环境变量生效,需要先执行下面的命令:

$ source ~/.bashrc

然后就可以使用NVM工具了。用下面的命令查看有哪些可用的版本:

nvm list-remote

这个命令会把所有可用的版本都列出来,我这里只截取一小部分的输出结果:

...
v16.20.0
...

如果想安装v17.0.0版本的Node.js,可以执行下面的命令:

sh nvm install v17.0.0

也可以用下面的命令查看当前系统中已经安装的Node.js

$ nvm list

如果想使用某个版本,可以执行命令(这里是v17.0.0):

$ nvm use v17.0.0

不需要代理

#定义要下载版本
mvn_version="0.39.3"
 
#下载nvm
git clone https://gitee.com/mirrors/nvm.git ~/.nvm/nvm-$mvn_version --branch v$mvn_version --single-branch 
 
#添加配置
cat <<EOF >> ~/.$(basename $SHELL)rc
export NVM_DIR="$HOME/.nvm/nvm-${mvn_version}"
[ -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
# nodejs下载更换淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
EOF
 
#刷新配置
source ~/.$(basename $SHELL)rc
 
#验证是否安装成功
nvm --version

4. 使用n管理node版本

安装Node.js的包管理器npm并查看版本:

$ sudo apt install npm
...
$ npm -v
6.14.4

使用npm安装n:

$ npm install -g n
/usr/local/bin/n -> /usr/local/lib/node_modules/n/bin/n
+ n@9.1.0
added 1 package from 2 contributors in 1.45s

查看n安装的node版本列表:

$ n ls
find: ‘/usr/local/n/versions’: No such file or directory

还没有安装过node所以是空的。现在安装指定版本的node:

$ n i 16.20.0
  installing : node-v16.20.0
       mkdir : /usr/local/n/versions/node/16.20.0
       fetch : https://nodejs.org/dist/v16.20.0/node-v16.20.0-linux-x64.tar.xz
     copying : node/16.20.0
   installed : v16.20.0 (with npm 8.19.4)

Note: the node command changed location and the old location may be remembered in your current shell.
         old : /usr/bin/node
         new : /usr/local/bin/node
If "node --version" shows the old version then start a new shell, or reset the location hash with:
hash -r  (for bash, zsh, ash, dash, and ksh)
rehash   (for csh and tcsh)

注意这里有个提示:需要使用hash -r刷新一下当前命令行。因为我刚刚使用apt install nodejs安装过一次nodejs。然后发现太老了,卸载了。但是在同一个命令行里面,所以需要刷新一下。不然node -v查询到的可能是老的版本v10.19.0

查看安装的node版本

$ n ls
node/16.20.0

查看当前node版本:

$ node -v
v16.20.0

总结

社区有哪些Node.js版本管理工具: | - Node.js版本管理工具 - | - 支持 - | - GitHub Star - | - 特点 - | | nvm | 不支持npm安装 | 66.9k | 支持Linux、MacOS,不支持Windows,Windows设备使用nvm-windows | | n | 支持npm安装 | 17.6k | 支持Linux、MacOS;Windows平台必须通过 WSL(Linux 的 Windows 子系统)工作; 无配置,使用简单 | | nvs | 不支持npm安装 | 2.3k | 基于Node.js开发,跨平台 | | fnm | 不支持npm安装 | 11.8k | Rust语言编写,一个字快,支持跨平台 |