Centos6.5安装nodejs13

摘要:
下载nodejs13二进制包,解压并运行它/Node表示库文件丢失。缺少库文件时出现错误提示:[root@localhostbin ]#./ 节点。/节点:/usr/lib64/libstdc++.so.6:找不到版本`GLIBCXX_3.4.14'。/node:/usr/lib64-libstdc++.so.6:没有找到版本`GLIBCXX_3.4.18'。/node:/usr/lib64/libstdc++.so.6:version `CXXABI_1.3.5'找不到。/node:/usr/lib64/Lbstdc+.so.6:version `GLIBCXX_3.4.15'没有找到。/node:/lib64/libc.so.6:version`GLIBC_2.16'没有找到找到。/node:/lib64/libc.so.6:版本`GLIBC_2.17'未找到。/node:/lib64/libc.so.6:版本` GLIBC_2.14'notfound缺少两种类型:libstdc++。所以.6和libc。所以。转到相应的路径并检查。事实上,这并不是缺少文件。应该说版本太低了,需要升级。https://blog.csdn.net/qq708986022/article/details/778967911)下载glibc2.17:wgethttp://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz2)解压缩:tar-xzfglibc-2.17。焦油gz3)创建构建目录:mkdirbuild4)输入构建目录以编译glibc:cdbuild/glibc-2.17/configure--prefix=/usr--disable-profile--enable add-on--withheader=/usr/include--withutility=/usr/binmake-j4makeinstall注意:如果报告configure:error:supportfor--执行configure时不需要整个架构,将configure命令更改为/Glibc-2.17/configure--prefix=/usr--disable-profile--enable add-on--withheaders=/usr/include5)查看Glibc版本并执行字符串/lib64/libc。所以.6|grepGLIBC查看该版本已支持GLIBC_2.17[root@zhx-tserver2build-2.17]#strings/lib64/libc.so.6|grepGLIBCGLIBC_2.2.5GLIBC_2.2.6GLIBC_2.3GLIBC_2.3GLIBC_2.3.3GLIBC_2.3.4GLIBC_2.4GLIBC_2.5GLIBC_2.6GLIBC_2.7GLIBC_2.8GLIBC_2.9GLIBC_2.10GLIBC_2.11GLIBC_2.12GLIBC_2.13GLIBC_2.14GLIBC_2.15 GLIBC_2.16 GLIBC_2.17GLIBC_ PRIVATE再次运行/节点[root@localhostbin ]#./ 节点。/节点:/usr/lib64/libstdc++.so.6:找不到版本`GLIBCXX_3.4.14'。/node:/usr/lib64-libstdc++.so.6:没有找到版本`GLIBCXX_3.4.18'。/node:/usr/lib64/libstdc++.so.6:version`CXXABI_1.3.5'没有找到。/node:/usr/lib64/Lbstdc+.so.6:version `GLIBCXX_3.4.15'没有找到libc。因此,“找不到”6不再可用。

下载nodejs13二进制压缩包,解压后运行./node提示缺库文件。在网上面试并试了好多次后,记录一下。

缺失库文件的错误提示:

  1.  
    [root@localhost bin]# ./node
  2.  
    ./node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./node)
  3.  
    ./node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ./node)
  4.  
    ./node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by ./node)
  5.  
    ./node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./node)
  6.  
    ./node: /lib64/libc.so.6: version `GLIBC_2.16' not found (required by ./node)
  7.  
    ./node: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by ./node)
  8.  
    ./node: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./node)

一共缺两种:libstdc++.so.6,libc.so.6

去相应的路径看看了看,其实也不算是缺文件,应该说是版本过低,需要升级。

升级的时候需要注意两点:足够的内存大小和硬盘空间。

我是在虚拟机上安装的,一开始不知道,虚拟机只给了8G的硬盘的1G的内存,安装过程中各报了一次错。把内在调到4G,硬盘调到20G后,就正常了。空间要求不高,一般情况下也不会出现这个问题。

在make过程中,会报错缺少c和c++编译器。使用yum进行安装。

yum install gcc

yum install gcc-c++

1、先安装libc.so.6

这个是按照「黑色外套」的博客教程去装的。https://blog.csdn.net/qq708986022/article/details/77896791

1)下载glibc2.17:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz

2)解压: 
tar -xzf glibc-2.17.tar.gz

3)创建build目录:
mkdir build

4)进入build目录编译glibc:
cd build
../glibc-2.17/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make -j4
make install

注:如果执行configure的时候报configure: error: support for --no-whole-archive is needed,则把configure命令改成
../glibc-2.17/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include  (我用的这个命令)


5)查看GLIBC版本
执行 strings /lib64/libc.so.6|grep GLIBC 查看版本已经支持GLIBC_2.17
[root@zhx-tserver2 build-2.17]# 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
 

重新运行一下./node

  1.  
    [root@localhost bin]# ./node
  2.  
    ./node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./node)
  3.  
    ./node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by ./node)
  4.  
    ./node: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by ./node)
  5.  
    ./node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./node)

libc.so.6的not found已经没有了。

注意:libc.so.6更新失败的时候,会导致ls、cd这种普通命令失效,救急的办法是在命令前先导入老版本:

$ LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6 // libc-2.12.so 此项是系统升级前的版本

2. 安装libstdc++so.6

这个是按照xiaojun11-的博客安装的。https://blog.csdn.net/xiaojun111111/article/details/86492556

1.获取gcc4.8.5的源码包(不同的版本,基本是只需要换掉后面的版本号即可更换下载地址)
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2
2.解压压缩包
tar -jxvf gcc-4.8.5.tar.bz2
3.进入解压后的目录
cd gcc-4.8.5
4.下载、配置和安装需要的依赖库
./contrib/download_prerequisites
    这个脚本文件会自动帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

  安装gcc需要下载诸如gmp、mpfr、mpc等依赖文件,执行download_prerequisites将会自动下载这些软件并解压到当前目录(文件不大,总共只有几MB,请耐心等待下载)。
5.直接在当前目录下创建一个目录,存放编译后的文件。
mkdir gcc-build-4.8.5
6.进入这个目录来编译
cd gcc-build-4.8.5
7.生成Makefile文件,准备编译整个项目(gcc4.8.5)
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
    前面的..表示会进入到上一层目录执行configure。所以gcc-build-4.8.5目录必须在gcc-4.8.5里面创建,也就是我们这样创建的。如果你想自己定义gcc-build-4.8.5目录的位置,你要处理好这里的路径问题。不建议处理,一个安装过程而已,不必折腾,就按照上述方法弄就行了。
8.编译gcc4.8.5的源码,非常耗时,时间决定于你的机器的性能。
make
   不建议使用make -j4 方式编译,很可能会失败。-j4选项是make对多核处理器的优化。虽然直接make速度慢点,只要不出错,总体上还是可以接受的。
9.安装gcc4.8.5(非root用户要在前面加sudo)
make install
10.重启系统,让gcc4.8.5生效
reboot
11.查看gcc和g++的版本
gcc --version
g++ --version
    提示为:
gcc (GCC) 4.8.5
g++ (GCC) 4.8.5
    就表示已经安装成功,并且生效了。
    特别注意,第10步很容易被忽略。如果不重启系统,查看的版本还是之前的老版本,会让你误认为安装没有成功的

替换系统低版本gcc

系统自带低版本gcc文件位置为/usr/bin/gcc/usr/bin/lib,此时需要将这两个部分删掉,或者后缀加上.bak,然后通过建立软连接的方式替换系统默认位置的gccc++g++文件。

 
  1. mv /usr/bin/c++ /usr/bin/c++.bak

  2. ln -s /usr/local/bin/c++ /usr/bin/c++

  3. mv ./g++ ./g++.bak

  4. ln -s /usr/local/bin/g++ /usr/bin/g++

  5. mv ./gcc ./gcc.bak

  6. ln -s /usr/local/bin/gcc /usr/bin/gcc

替换系统gcc动态链接库

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

输出结果如下, 可以看出,gcc的动态库还是处于旧版本,说明生成的动态库没有替换旧版本gcc的动态库。

 
  1. GLIBCXX_3.4

  2. GLIBCXX_3.4.1

  3. GLIBCXX_3.4.2

  4. GLIBCXX_3.4.3

  5. GLIBCXX_3.4.4

  6. GLIBCXX_3.4.5

  7. GLIBCXX_3.4.6

  8. GLIBCXX_3.4.7

  9. GLIBCXX_3.4.8

  10. GLIBCXX_3.4.9

  11. GLIBCXX_3.4.10

  12. GLIBCXX_3.4.11

  13. GLIBCXX_3.4.12

  14. GLIBCXX_3.4.13

查找编译gcc时生成的最新动态库。

find / -name "libstdc++.so*"

列出了新版的gcc动态链接库位置。

/usr/local/lib64/libstdc++.so.6.0.19

将上面的最新动态库libstdc++.so.6.0.19复制到/usr/lib64目录下,并重新建立软连接。

 
  1. cp /usr/local/lib64/libstdc++.so.6.0.19 /usr/lib64

  2. cd /usr/lib64/

  3. rm -f ./libstdc++.so.6

  4. ln -s libstdc++.so.6.0.18 libstdc++.so.6

再次查看gcc版本,以下结果表示动态库升级完成。

 
  1. ...

  2. GLIBCXX_3.4.13

  3. GLIBCXX_3.4.14

  4. GLIBCXX_3.4.15

  5. GLIBCXX_3.4.16

  6. GLIBCXX_3.4.17

  7. GLIBCXX_3.4.18

  8. GLIBCXX_3.4.19

node版本下载:

https://npm.taobao.org/mirrors/node/

cd /usr/local/src

tar xzf node-v13.10.1-linux-x64.tar.gz

mv node-v13.10.1-linux-x64 node-v13.10.1

mv node-v13.10.1 /usr/local/

ln -s /usr/local/node-v13.10.1/bin/node /usr/local/bin/node

ln -s /usr/local/node-v13.10.1/bin/npm /usr/local/bin/npm

设置淘宝源
npm config set registry https://registry.npm.taobao.org

//在NPM 中安装
npm install -g yarn

ln -s /usr/local/node-v13.10.1/bin/yarn /usr/local/bin/yarn

ln -s /usr/local/node-v13.10.1/bin/yarnpkg /usr/local/bin/yarnpkg

设置淘宝源
yarn config set registry https://registry.npm.taobao.org





免责声明:文章转载自《Centos6.5安装nodejs13》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux 之 DolphinScheduler 安装步骤Mosquito集群模式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

angular-cli 项目如何引入jQuery 或者bootstrap?

1. 首先确保你的node_module中安装了jquery 或者 bootstrap,如果没有 执行以下命令 npm install jquery --save-dev 2. 打开angular-cli.json文件夹,在scripts:[]属性中添加如下代码 //jQuery 文件或者 bootstrap 文件路径 "../node_modules...

如何优雅的屏蔽GCC编译器告警

       作为一个合格的C语言程序员,在编译代码的时候一定要加上-W和-Wall选项,要保证代码中没有任何的warning信息,提高代码的可靠性。-Wall选项意思是编译后显示所有警告,-W选项只显示编译器认为会出现错误的警告。         但是有些时候,有些功能模块尚待开发,有些函数也没有完成功能,虽然不影响程序的正常执行,但是待开发的代码难免会...

npm scripts

Node 开发离不开 npm,而脚本功能是 npm 最强大、最常用的功能之一。 npm 允许在package.json文件里面,使用scripts字段定义脚本命令。 { // ... "scripts": { "build": "node build.js" } } 上面代码是package.json文件的一个片段,里面的scr...

Python编程:从入门到实践(选记)

本文参考《Python 编程:从入门到实践》一书,作者:[ 美 ] Eric Matthes 第1章 起步 1.1 搭建python环境 在不同的操作系统中, Python 存在细微的差别。 1.1.1 Python 2和Python 3 在本书中,将指出 Python 2 和 Python 3 的重大差别。1.1.2 运行Python代码片段 1.1....

##Jquery基础(三)

Jquery基础-DOM ##一、DOM 是 JavaScript 操作网页的接口,全称为“文档对象模型”(Document Object Model)。它的作用是将网页转为一个 JavaScript 对象,从而可以用脚本进行各种操作(比如增删内容)。 浏览器会根据 DOM 模型,将结构化文档(比如 HTML 和 XML)解析成一系列的节点,再由这些节点组...

macOS 系统下node安装和环境配置(通过node官网)

为了解决node的一些问题, 需要重装 node, 此时: Solved it by uninstalling Node completely and installing it via the website (not via terminal) 通过nodejs网站下载安装包来安装node,而不是通过终端。 1、前往node官网下载 node安装包  ...