官网下载https://nodejs.org/zh-cn/download/prebuilt-installer
第三方地址下载:https://nodejs.org/dist/v18.12.1/
第三方地址下载:https://registry.npmmirror.com/binary.html?path=node/v18.12.1/
一、环境搭建
1、将下载的安装包上传至服务器目录,如果使用的是命令下载的,可直接进入下一步,我这里使用的是xftp工具上传。
2、解压安装包cd进入上传的目录
tar -zxvf node-v18.12.1-linux-x64.tar.gz
3、创建软连接,使得在任意目录下都可以试用直接使用node命令和npm命令
ln -s /home/node-v18.12.1-linux-x64/bin/node /usr/local/bin/node
ln -s /home/node-v18.12.1-linux-x64/bin/npm /usr/local/bin/npm
4、命令执行成功后,切到“usr/local/bin”目录,可以看到改目录下有两个文件
二、环境配置
1、 执行以下命令,编辑环境配置文件
vim /etc/profile
2、 按下键盘的【insert】键(方向键上方的插入键),开启编辑
3、 在文件底部新增如下两行内容
export NODE_HOME=/home/node-v18.12.1-linux-x64/bin
export PATH=$PATH:$NODE_HOME:/usr/local/bin/
4、按下【ESC】键,输入【:wq】保存并退出
5、 刷新环境配置,使变量文件生效
source /etc/profile
6、检查node及npm版本
node -v
npm -v
7、如果显示版本信息,则安装成功
8、如果出现下面这种错误则需要进行下面的操作(新版的node v18开始 都需要GLIBC_2.27支持,可是目前系统内却没有那么高的版本)
9、查看CLIBC版本信息
strings /lib64/libm.so.6 |grep GLIBC
strings /lib64/libc.so.6 |grep GLIBC_
三、安装gcc
1、检查系统是否安装gcc
gcc -v
2、如果没有gcc信息则进行安装
3、gcc依赖下载地址
官方地址:https://gcc.gnu.org/releases.html
镜像站点1:http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/
镜像站点2:https://vault.centos.org/7.5.1804/os/x86_64/Packages/
4、gcc 依赖包清单如下(我这里使用的是镜像站点1下载的)
cpp-4.8.5-44.el7.x86_64.rpm
gcc-4.8.5-44.el7.x86_64.rpm
glibc-devel-2.17-317.el7.x86_64.rpm
glibc-headers-2.17-317.el7.x86_64.rpm
kernel-headers-3.10.0-1160.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
mpfr-3.1.1-4.el7.x86_64.rpm
5、将下载的安装包上传至服务器目录
6、执行安装(cd进入上传的目录)
# 批量安装及忽略依赖
rpm -ivh *.rpm --nodeps --force
7、按装完成,版本检查
8、安装gcc-c+±
9、依赖包清单如下(镜像站1下载)
gcc-c+±4.8.5-44.el7.x86_64.rpm
libstdc+±4.8.5-44.el7.x86_64.rpm
libstdc+±devel-4.8.5-44.el7.x86_64.rpm
10、将下载的安装包上传至服务器目录
11、执行安装(cd进入上传的目录)
# 逐个安装
rpm -ivh libstdc++-4.8.5-44.el7.x86_64.rpm
# 或 批量安装及忽略依赖(可以不加 --nodeps --force 以观察其依赖)
rpm -ivh *.rpm --nodeps --force
12、按装完成,版本检查
g++ -v
四、更新glibc
1、下载文件http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz
2、将下载的安装包上传至服务器目录
3、解压
tar -xf glibc-2.28.tar.gz
4、进入并创建build目录进入
cd glibc-2.28/ && mkdir build && cd build
5、查看gcc安装的位置
which gcc
6、执行命令(with-binutils配置gcc的安装位置)
../configure --prefix=/usr CFLAGS="-Og -g -g3 -ggdb -gdwarf-4" CXXFLAGS="-Og -g -g3 -ggdb -gdwarf-4" --disable-werror --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
7、如果出现这个错误
则安装bison
8、bison下载地址:http://ftp.gnu.org/gnu/bison/bison-3.8.2.tar.gz
9、将下载的安装包上传至服务器目录
10、解压并进入文件夹(cd进入上传的目录)
tar -zxvf bison-3.8.2.tar.gz
cd bison-3.8.2
11、命令配置安装路径为/usr/local
./configure -prefix=/usr/local/
12、执行命令出现这个错误
则安装m4
13、m4地址下载:http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
14、将下载的安装包上传至服务器目录
15、解压并进入文件夹(cd进入上传的目录)
tar -xvf m4-1.4.9.tar.gz
cd m4-1.4.9
16、执行命令编译
./configure
17、安装
make
make install
18、安装完成后进入11步操作(cd进入之前安装的目录),再次执行命令
./configure -prefix=/usr/local/
19、目录配置好了之后,make安装
make install
20、检查版本信息(安装成功)
21、安装完成再来执行第7步操作并cd进入该目录下
../configure --prefix=/usr CFLAGS="-Og -g -g3 -ggdb -gdwarf-4" CXXFLAGS="-Og -g -g3 -ggdb -gdwarf-4" --disable-werror --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
22、执行还是报错,选择make
因为make版本太低导致的
22、升级make版本
23、查看make版本信息
make -v
24、 make升级到4.3
25、下载地址:http://ftp.gnu.org/gnu/make/make-4.3.tar.gz
26、将下载的安装包上传至服务器目录
27、解压并进入文件夹(cd进入上传的目录)
tar -xzvf make-4.3.tar.gz && cd make-4.3/
28、配置安装地址
./configure --prefix=/usr/local/make
29、 编译并安装
make && make install
30、make重命名为make.bak
cd /usr/bin/ && mv make make.bak
31、建立软连接
ln -sv /usr/local/make/bin/make /usr/bin/make
32、查看make版本
make -v
33、安装完成再来执行第7步操作并cd进入该目录下
../configure --prefix=/usr CFLAGS="-Og -g -g3 -ggdb -gdwarf-4" CXXFLAGS="-Og -g -g3 -ggdb -gdwarf-4" --disable-werror --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
34、make -j开启多线程,不然会很慢,要一个小时以上
make -j4
出现错误是因为gcc版本过低
35、升级gcc版本
36、gcc地址下载:http://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz
37、将下载的安装包上传至服务器目录
38、解压并进入文件夹
tar -zvxf gcc-12.2.0.tar.gz && cd gcc-12.2.0/
39、查看需要的依赖(cd 到gcc-12.2.0目录下面,查看需要的依赖)
vim contrib/download_prerequisites
40、按下【ESC】键,输入【:q】退出
41、下载需要依赖地址:https://gcc.gnu.org/pub/gcc/infrastructure/
42、将下载的安装包上传至服务器目录
43、解压编译依赖gmp-6.2.1.tar.bz2
tar jxvf gmp-6.2.1.tar.bz2
./configure --prefix=/usr/local/gmp
make && make install
44、解压编译依赖mpfr-4.1.0.tar.bz2
tar jxvf mpfr-4.1.0.tar.bz2
./configure --prefix=/usr/local/mpfr --with-gmp=/usr/local/gmp
make && make install
45、解压编译依赖mpc-1.2.1.tar.gz
tar zxvf mpc-1.2.1.tar.gz
./configure --prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr
make && make install
46、解压编译依赖isl-0.24.tar.bz2
tar jxvf isl-0.24.tar.bz2
./configure --prefix=/usr/local/isl --with-gmp-prefix=/usr/local/gmp
make && make install
46、编译并安装(执行下面两个命令)
./configure --prefix=/usr/local/gcc --with-gmp=/usr/local/gmp/ --with-mpfr=/usr/local/mpfr/ --with-mpc=/usr/local/mpc/ --with-isl=/usr/local/isl --with-system-zlib --disable-multilib
47、然后再执行命令,编译安装gcc:
#make -j开启多线程,不然会很慢
make -j4 && make install
48、如果执行make && make install
编译报错,如下
49、安装zlib:yum install zlib-devel.x86_64(在线安装命令)
50、centos 版本(查看命令: cat /etc/redhat-release)
51、下载地址:http://vault.centos.org/系统版本/os/x86_64/Packages/
52、将下载的安装包上传至服务器目录
53、安装(cd进入上传的目录)
rpm -Uvh ./*.rpm --nodeps --force
54、安装完成后,cd进入gcc目录
make -j4 && make install
55、如果执行make && make install
编译报错,如下
56、查看libisl.so.23的位置
find / -name libisl.so.23
57、将用户用到的库统一放到一个目录,如 /usr/loca/lib
cp /usr/local/isl/lib/libisl.so.23 /usr/local/lib
cp /usr/local/mpfr/lib/libmpfr.so.6 /usr/local/lib
58、将动态文件入配置:执行vi /etc/ld.so.conf,在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"
vi /etc/ld.so.conf
59、保存后,在命令行终端执行
/sbin/ldconfig -v
ldconfig
60、完成后,cd进入gcc目录
make -j4 && make install
61、该过程时间比较漫长,大约需要2小时以上,需要耐心等待。如果编译安装过程没有报错,最后一段打印大概是这样:
62、系统自带的gcc版本的可执行文件为:/usr/bin/gcc
,我把这个可执行文件gcc
备份成gcc_4.8.5(cd进入/usr/bin目录下)
mv gcc gcc_4.8.5
mv g++ g++_4.8.5
63、然后把我自己安装的:gcc可执行文件链接到该目录下:
ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc/bin/g++ /usr/bin/g++
64、更新glibc(进入该目录)
../configure --prefix=/usr CFLAGS="-Og -g -g3 -ggdb -gdwarf-4" CXXFLAGS="-Og -g -g3 -ggdb -gdwarf-4" --disable-werror --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
65、make -j开启多线程,不然会很慢,要一个小时以上
make -j4 && make install
66、日志最后会出现如下问题
# primary library!
# make[1]: *** [Makefile:111: install] Error 1
# make[1]: Leaving directory '/root/glibc-2.28.2'
# make: *** [Makefile:12: install] Error 2
67、把gcc需要的版本库,复制到运行系统上
#查看动态库
find / -name "libstdc++*"
# 删除低版本库的软连接
rm -rf /usr/lib64/libstdc++.so.6
#把gcc版本的动态库复制到/usr/lib64目录下
cp /usr/local/gcc/lib64/libstdc++.so.6 /usr/lib64/
68、查看版本信息
node -v
npm -v
相关依赖下载:https://download.csdn.net/download/Mr_Wang9264/89622416