Centos7离线安装NodeJS

官网下载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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值