欢迎光临
我们一直在努力

Ubuntu下安装Node.js

一、引言

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

二、通过apt安装Node.js

安装Node.js:

apt install nodejs

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

安装NPM:

apt install npm

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

查看Node.js版本:

node -v

查看npm版本:

npm -v

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

三、通过源码安装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无法正常运行:

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

可以看到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设置可执行权限:

chmod +x /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:

mv _bz2.cpython-38-x86_64-linux-gnu.so _bz2.cpython-10-x86_64-linux-gnu.so

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

方法二:

vim configure,编辑Node.js的configure文件。这里因为python3.10无法找到_bz2模块,python 3.8有_bz2模块,所以注释掉configure文件中的这几行,让configure只使用python 3.8:

重新执行./configure –prefix=/usr/local/nodejs,可以看到成功了:

编译:

make

这个时候可能又会报错:“g++: error: unrecognized command line option ‘-std=gnu++20’; did you mean ‘-std=gnu++2a’?”。这时候得更新编译器版本,将gcc和g++更新至11以上的版本:

添加编译链:

add-apt-repository ppa:ubuntu-toolchain-r/test

更新软件:

apt update

apt-get install gcc-11 g++-11

更改gcc和g++的软链接:

可以看到g++已经被更新了:

重新编译。编译可能需要花费数小时:

make

安装:

make install

可以看到Node.js已经成功安装到指定位置了:

修改环境变量:

vim ~/.bashrc

在该文件最后加入一行:

export PATH=$PATH:/usr/local/nodejs/bin

在Ubuntu系统中重新开启一个控制台,发现可以直接执行node和npm命令了,证明环境变量设置生效了:

四、参考

《Node.js 安装配置 | 菜鸟教程》。

赞(0)
未经允许不得转载:171主机测评 » Ubuntu下安装Node.js
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址