前端系列:Centos7安装node.js以及遇到的各种问题
Centos7安装node.js以及遇到的各种问题
自己买了一个腾讯云轻量应用服务器,第一个项目跟随github部署了一个小网站。本文记录安装node.js的过程(安装时遇到了一些坑,折腾了好久。。)
我最后安装的方法是使用源代码安装,想看这个方法的直接看最后一部分!
前期使用的方法都没有成功。
我的平台:腾讯云 轻量服务器|宝塔Linux面板 7.9.3 腾讯云 专享版| Centos7.9 64bit
一. Centos7安装node.js
一、尝试未成功的方法
1、从EPEL库安装node.js
首先确认是否已经安装eple库:
yum info epel-release
如果输出有关eple-release库的有关信息,则已经安装该库,否则需要安装:
sudo yum install epel-release
安装eple库完成后,就可以开始安装node.js:
sudo yum install nodejs
检查是否安装成功及版本:
node -v
npm -v
注:新版本的node.js已经包含npm,如果没有可以选择自己安装,安装命令如下:
sudo yum install npm
到这一步检查node版本之后发现比我需要的版本要低,于是尝试nvm(nvm是一个node.js版本管理工具)
笔者到这里是成功的
进入要启动的项目
npm install
然后
npm run dev
2.使用nvm安装
nvm是一个node版本管理工具,可以为系统安装多个node版本并进行切换管理。
安装nvm,执行如下命令:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
执行 nvm -v
输出版本说明nvm安装成功
然后执行nvm install 版本号
即可安装对应版本号node.js
执行 nvm ls-remote
查看可以供安装的全部版本
执行nvm ls
查看已安装的版本
安装成功后,执行 node -v
,如果出现版本号且没有其他提示,说明安装成功。而我的提示有些依赖项没有安装,和这里类似:
-
node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node) 报错解决
-
Linux中提示:/lib64/libc.so.6: version `GLIBC_2.17’ not found 的解决办法
遇到的问题详情见 二. 遇到的问题
我升级了gcc版本到8.3.1-3(升级方法见CentOS7 升级gcc版本),但问题仍没有解决(仍然缺少GLIBC_2.27等)
二、成功方法
1. 使用源代码安装
去官网找到最新的或者是您想要的node.js版本,复制url,在CentOS中用wget下载。
wget https://nodejs.org/dist/v18.15.0/node-v18.15.0.tar.gz
解压:
tar zxvf node-v18.15.0.tar.gz
进入目录:
cd node-v18.15.0
配置:
./configure
编译(这一步花费的时间比较长,耐心等待):
make
安装:
sudo make install
检查:
# node --version
v8.9.4
# npm --version
5.6.0
在centos7安装nodejs并升级nodejs到最新版本
创作不易,欢迎点赞、评论、收藏
二. 遇到的问题
可以参考 前端系列:Vue入门&环境搭建、【vue】创建项目&项目搭建问题&项目文件介绍&.vue文件介绍
一. node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node) 报错解决
安装node的时候报错:
[root@localhost build]# npm install pm2@latest --global
node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by node)
node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
发生此错误可能是因为您正在使用node的最新版本,还是建议使用LTS版本(大多数用户建议使用16.15.0 LTS)而不是最新版本。所以我的建议是使用NodeJS 16 LTS版本。安装Nodejs 16只需在机器上运行以下命令:
nvm install 16
[root@localhost ~]# nvm install 16
Downloading and installing node v16.17.0...
Downloading https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz...
####################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v16.17.0 (npm v8.15.0)
安装pm2:
[root@localhost ~]# npm install pm2 -g
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
added 183 packages, and audited 184 packages in 16s
12 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.15.0 -> 8.19.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.19.2
npm notice Run npm install -g npm@8.19.2 to update!
npm notice
二. Linux中提示:/lib64/libc.so.6: version `GLIBC_2.17’ not found 的解决办法
昨天在服务器上安装好node之后,提示这个错误:./node: /lib64/libc.so.6: version `GLIBC_2.17’ not found (required by ./node),今天把解决过程整理一下
一、查看系统中可使用的glibc版本
//使用strings命令查看
strings /lib64/libc.so.6 |grep GLIBC_
//查看结果如下:
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.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_PRIVATE
二、下载高版本的glibc库
1.由上图可知,并没有GLIBC_2.17版本的glibc库,所以我们要下载2.17版本的库,从这下载 glibc-2.17.tar.gz,也可下载更多版本
三、下载之后进行解压缩
wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
tar -xvf glibc-2.17.tar.gz
四、编译安装
#进入glibc-2.17目录中
cd glibc-2.17
#创建build目录
mkdir build
#进入build目录中
cd build
#执行./configure
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
#安装
make && make install
五、查看共享库
ls -l /lib64/libc.so.6
=====================
//可以看到已经建立了软链接
lrwxrwxrwx. 1 root root 12 Jan 13 01:49 /lib64/libc.so.6 -> libc-2.17.so
六、再次查看系统中可使用的glibc版本
[root@localhost ~]# strings /lib64/libc.so.6 |grep GLIBC_
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.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE
七、备注
1.本文参考:https://blog.csdn.net/zhoubl668/article/details/80285317
node: /lib64/libm.so.6: version `GLIBC_2.27‘ not found (required by node) 报错解决
Linux中提示:/lib64/libc.so.6: version `GLIBC_2.17’ not found 的解决办法