Ubuntu下安装Node.js

一、引言

Ubuntu下安装Node.js主要有两种方式:通过apt安装和通过源码安装。本文主要讲解通过apt安装Node.js 的方法。

二、通过apt安装Node.js

安装Node.js:
apt install

我之前已经安装过了,所以提示:“nodejs 已经是最新版”:

Ubuntu下安装Node.js

安装NPM:

apt install npm

我之前已经安装过了,所以提示:“npm 已经是最新版”:

Ubuntu下安装Node.js

查看Node.js版本:

node -v

Ubuntu下安装Node.js

查看npm版本:

npm -v

通过whereis命令可以看到Node.js和NPM被安装到/usr/local/bin目录下:

Ubuntu下安装Node.js

三、通过源码安装Node.js

相比于通过apt安装Node.js的方式,通过源码安装Node.js的灵活性更高,可以指定Node.js的安装目录,对源码进行裁剪,选择Node.js的版本。缺点是操作较麻烦,编译花费时间长。

首先在 下载 | Node.js 中文网 下载 Node.js源码,比如下载node-v22.16.0.tar.gz:

解压:

tar -zxvf node-v22.16.0.tar.gz

进入Node.js源码目录:

 

生成Makefile,指定安装到/usr/local/nodejs下:

./configure --prefix=/usr/local/nodejs

可能会报错:ModuleNotFoundError: No module named '_bz2'。这个错误表示python 3.10无法找到_bz2模块,导致configure无法正常运行:

Ubuntu下安装Node.js

如果出现上述错误,通过whereis命令查看Ubuntu安装了哪些其它版本的python:

Ubuntu下安装Node.js

可以看到python3.8/lib-dynload目录下有一个文件为:“_bz2.cpython-38-x86_64-linux-gnu.so”:

针对上述错误,有两个解决方法:

方法一:

将_bz2.cpython-38-x86_64-linux-gnu.so拷贝到/usr/local/lib/python3.10 /lib-dynload/目录下:

将/usr/local/lib/python3.10/lib-dynload/目录下的_bz2.cpython-38-x86_64-linux-gnu.so设置可执行权限:

修改_bz2.cpython-38-x86_64-linux-gnu.so名称为_bz2.cpython-10-x86_64-linux-gnu.so:

重新在Node.js源码目录下执行configure命令,观察错误是否消失。如果还是报上述错误,使用方法二。

上一篇 统信如何查看glibc版本
下一篇 未来三层交换机能否取代路由器?