nodejs 和 npm 安装

CentOS 源码安装

下载node.js

下载地址是:https://nodejs.org/en/download/

1
wget https://nodejs.org/dist/v12.14.0/node-v12.14.0-darwin-x64.tar.gz

解压及其重新命名

1
2
3
4
5
# 解压
tar zxvf node-v12.14.0-darwin-x64.tar.gz

# 改名为nodejs
mv node-v12.14.0-darwin-x64/* /usr/local/nodejs

建立软链接

此时的bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,不过不是全局的,所以通过建立软链接的方式将这个设置为全局。

1
2
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin

测试

1
2
node -v
npm -v

报错

lib64/libm.so.6: version 'GLIBC_2.28' not found (required by node)

思路

通过命令strings /lib/i386-linux-gnu/libc.so.6 | grep ^GLIBC查看当前系统glibc的版本。

1
2
3
4
5
6
7
8
9
10
11
12
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
...
GLIBC_2.26
GLIBC_2.27
GLIBC_PRIVATE

解决

  1. 方案一:

    贸然更新glibc的版本存在较大的风险,所以建议降低node.js的版本,去兼容低版本glibc
    搜索历史版本,查看软件更新日志,通过搜索关键字glibc。
    软件在V18.0.0修改依赖glibc 2.28,所以我们下载使用Node.js 17.9.1版本,问题解决。

  2. 方案二:安装 glibc
    下载地址:http://ftp.gnu.org/gnu/glibc/
    选择自己合适的版本进行下载,然后就是解压和安装(我下载的是glibc-2.35.tar.xz),下面的命令按照顺序一个个输入

    1
    2
    3
    4
    5
    6
    7
    tar -xvf glibc-2.35.tar.xz
    cd glibc-2.35
    mkdir build
    cd build
    ../configure --prefix=/usr/glibc2.25
    make -j16
    sudo make install

    注意 configure 时,一定要指定 –prefix=/usr/glibcxxx,xxx为对应的版本号,否则 sudo make install 的时候,整个系统会崩溃,并报下面错误

    1
    2
    3
    4
    5
    Makefile:106: recipe for target 'install-symbolic-link' failed
    make[1]: *** [install-symbolic-link] Segmentation fault (core dumped)
    make[1]: Leaving directory '/home/xxx/Downloads/glibc-2.25'
    Makefile:12: recipe for target 'install' failed
    make: *** [install] Error 2

    参考地址:https://blog.csdn.net/SHK242673/article/details/126938820


nodejs 和 npm 安装
https://flepeng.github.io/021-frontend-nodejs-11-安装-nodejs-和-npm-安装/
作者
Lepeng
发布于
2021年8月4日
许可协议