概述
nodejs 官方地址:https://nodejs.org/en/download/
Linux Binaries (x64) 安装
这里是centos,不是Linux ARM系统的,下载后是一个14M的tar包,node-v12.18.2-linux-x64.tar.xz
# 解压
[baidu@yfafnqeu ~]$ tar xvf node-v12.18.2-linux-x64.tar.xz
# 重命名(或者移动到喜欢的位置)
[baidu@yfafnqeu ~]$ mv node-v12.18.2-linux-x64 /usr/local/
# 设置环境变量(普通用户是.bash_profile/root是/etc/profile)
[baidu@yfafnqeu ~]$ vi .bash_profile
#添加一行
export PATH=$PATH:/usr/local/node-v12.18.2/bin
[baidu@yfafnqeu ~]$ source .bash_profile
[baidu@yfafnqeu ~]$ node -v
V12.18.2
[baidu@yfafnqeu ~]$ npm -v
6.14.5
Linux Source Code (源码编译)安装
下载后是一个50M的tar包,node-v12.18.2.tar.gz
# 解压
[root@baidu1 opt]# tar -xvf node-v12.18.2.tar.gz
[root@baidu1 opt]# cd node-v12.18.2/
#配置要求,会提示需要安装的依赖包
[root@baidu1 node-v12.18.2]# ./configure
WARNING: failed to autodetect C++ compiler version (CXX=g++)
WARNING: warnings were emitted in the configure phase
INFO: configure completed successfully
#搜索缺少的依赖包
[root@baidu1 node-v12.18.2]# yum search c++
[baidu@yfafnqeu node-v12.18.2]$ yum -y install gcc gcc-c++ kernel-devel
#编译 时间会比较长,我的用了20分钟
[baidu@yfafnqeu node-v12.18.2]$ make && make install
如果./configure会提示缺少的依赖,进行yum install
yum install gcc-c++.x86_64 -y
校验
node -v
到此编译完成。
- 我在编译v12.18.x的时候会出现error: #error "SSE4.1 instruction set not enabled",这个错是没有找到解决办法,可以尝试换个包,比如v12.2,环境不变可以正常编译通过
- 源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决
查找最新的动态库
[root@baidu1 usr]# find -name "libstdc++.so.6*"
./lib64/libstdc++.so.6
./lib64/libstdc++.so.6.0.19
./lib64/libstdc++.so.6.0.26
./share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
./share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
./share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
./local/lib64/libstdc++.so.6.0.26
./local/lib64/libstdc++.so.6
./local/lib64/libstdc++.so.6.0.26-gdb.py
./local/gcc-build-9.1.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.26
./local/gcc-build-9.1.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
./local/gcc-build-9.1.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.26
./local/gcc-build-9.1.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
./local/gcc-build-9.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.26
./local/gcc-build-9.1.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6
[root@baidu1 usr]#
给动态库更新外连接
[root@baidu1 usr]# cd ./local/gcc-build-9.1.0/prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/
[root@baidu1 .libs]# ll
total 106276
-rw-r--r--. 1 root root 50600 Aug 6 11:21 compatibility-atomic-c++0x.o
-rw-r--r--. 1 root root 145192 Aug 6 11:21 compatibility-c++0x.o
-rw-r--r--. 1 root root 21704 Aug 6 11:21 compatibility-chrono.o
-rw-r--r--. 1 root root 37912 Aug 6 11:21 compatibility-condvar.o
-rw-r--r--. 1 root root 8416 Aug 6 11:21 compatibility-debug_list-2.o
-rw-r--r--. 1 root root 10512 Aug 6 11:21 compatibility-debug_list.o
-rw-r--r--. 1 root root 194376 Aug 6 11:21 compatibility.o
-rw-r--r--. 1 root root 134904 Aug 6 11:21 compatibility-thread-c++0x.o
-rw-r--r--. 1 root root 45366082 Aug 6 11:21 libstdc++.a
-rw-r--r--. 1 root root 45141632 Aug 6 11:21 libstdc++convenience.a
lrwxrwxrwx. 1 root root 26 Aug 6 11:21 libstdc++convenience.la -> ../libstdc++convenience.la
lrwxrwxrwx. 1 root root 15 Aug 6 11:21 libstdc++.la -> ../libstdc++.la
-rw-r--r--. 1 root root 965 Aug 6 11:21 libstdc++.lai
lrwxrwxrwx. 1 root root 19 Aug 6 11:21 libstdc++.so -> libstdc++.so.6.0.26
lrwxrwxrwx. 1 root root 19 Aug 6 11:21 libstdc++.so.6 -> libstdc++.so.6.0.26
-rwxr-xr-x. 1 root root 17689416 Aug 6 11:21 libstdc++.so.6.0.26
[root@baidu1 .libs]# cp libstdc++.so.6.0.26 /usr/lib64/
[root@baidu1 .libs]# cd /usr/lib64/
[root@baidu1 lib64]# ln -s libstdc++.so.6.0.26 libstdc++.so.6
再次make 就可以了
最后
以上就是淡定心情为你收集整理的centos7 安装nodejs的全部内容,希望文章能够帮你解决centos7 安装nodejs所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复