博客
关于我
linux下安装和配置node环境
阅读量:268 次
发布时间:2019-03-01

本文共 3449 字,大约阅读时间需要 11 分钟。

linux配置node环境

虚拟机:VMware® Workstation 12 Pro

Linux:CentOS-6.9 x64

查看自己linux装的多少位系统

[elastic@localhost /]$ getconf LONG_BIT64

node官网:

官网64

复制下载链接,使用wget命令下载

若下载慢,这里提供两个版本:(推荐低版本,解压即用)

node-v12.13.0-linux-x64
提取码:wj10
node-v10.0.0-linux-x64
提取码:yw3z

wget https://nodejs.org/dist/v12.13.0/node-v12.13.0-linux-x64.tar.xzxz -d node-v12.13.0-linux-x64.tar.xz					#第一步解压tar -xvf node-v12.13.0-linux-x64.tar					#第二步解压

添加环境变量

vim  /etc/profile

最下面添加顺序不要变

NODE_HOME=/java/nodejs         							#node的解压目录 PATH=$PATH:$NODE_HOME/binNODE_PATH=$NODE_HOME/lib/node_modulesexport PATH NODE_HOME NODE_PATH

NODE_PATH 变量的作用参考:

修改完执行以下命令是变量生效

source /etc/profile

查看环境变量

echo $PATH

设置软连接,使得node在任何地方都能使用

ln -s /java/nodejs/bin/node  /usr/local/bin/nodeln -s /java/nodejs/bin/npm  /usr/local/bin/npm

linux软连接 参考:

运行 node -v 测试一下
node-v
出现版本号则说明部署成功了!


我这里由于下载的node版本太高,本地的Linux装的系统太低

错误整理:
错误整理

查看当前当前使用的版本库

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

在这里插入描述

GLIBCXX 版本最高是13,而上面的错误信息中的14 15 18 没有,需要升级一下

wget http://ftp.gnu.org/gnu/gcc/gcc-7.1.0/gcc-7.1.0.tar.bz2			#下载gcc-7.1tar -jxvf gcc-7.1.0.tar.bz2											#解压

下载慢的话,网盘链接:

链接:
提取码:0omc
解压后进入解压目录:

cd gcc-7.1.0./contrib/download_prerequisites    		 # 下载依赖库mkdir gcc-temp                       		 # 建立编译输出目录./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib   # 生成makefile文件make -j4                           			 # 编译(j为核心数,速度会更快,这步极为耗时)sudo make install                  			 # 安装

执行make j4 的时候最后可能会 报错

make[2]: Leaving directory `/usr/local/src/gcc-7.1.0' make[1]: *** [stage1-bubble] Error 2 make[1]:

执行命令:

yum install -y glibc-headers gcc-c++

再执行make j4,最后没有Error则继续执行下一步 安装命令(sudo make install)

至此安装成功,一般程序安装在 /usr/local/bin/ 目录下

替换当前gcc4.7版本 :

update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-pc-linux-gnu-gcc 40                              # 倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级mv /usr/bin/gcc /usr/bin/gcc.bak           # 将原本的gcc重命名(删除亦可)ln -s /usr/local/bin/x86_64-pc-linux-gnu-gcc /usr/bin/gcc            # 软连接使用gcc7.1版本

当前版本位于/usr/bin/gcc,执行以下命令

执行命令 gcc -v
‘版本显示 7.1.0 升级成功!
然后:用最新的libstdc++.so.6替换旧的/usr/lib64/libstdc++.so.6:

strings /usr/lib64/libstdc++.so.6|grep GLIBCXX			#查看版本

此时应该还是显示的老版本,继续

cd /usr/lib64       								#进入老版本rm -rf libstdc++.so.6								#移除老的cp /usr/local/lib64/libstdc++.so.6  ./              #将新版本复制到当前目录

为什么复制到当前目录?

发现这个里面正是最新版本的动态库,可见,在升级gcc时,gcc编译会在gcc-temp目录中生成libstdc++.so.6,升级完毕,默认只会在/usr/local/lib64目录下包含最新的libstdc++.so.6动态库,而不会更新/usr/lib64目录下的libstdc++.so.6。而执行程序时,程序会优先从/usr/lib64目录下去寻找libstdc++.so.6,由于老版本的gcc在/usr/lib64中有一个旧版本的动态库libstdc++.so.6,导致程序以为自己找到了正确的动态库,实际上找到的却不是最新的

查看版本

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

GLIBCXX

GLIBCXX最高版本23 ,满足要求了。

至此:gcc版本升级完成,再运行node -v

glibc

还有三个问题,然后升级GLIBC版本,最高要求是17,我选择了17版本的,可以选更高点的
下载慢可选择:
链接 glibc-2.17 版本:
提取码:e4zg
链接 glibc-2.26 版本:
提取码:vdpj

逐步执行注意版本号

wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gztar -xvf  glibc-2.17.tar.gz mkdir glibc-build-2.17cd glibc-build-2.17../glibc-2.17/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/binmake && make install
strings /lib64/libc.so.6|grep GLIBC

GLIBC

GLIBC版本最高已达17,满足要求了。

运行node-v测试

版本号

看到版本号,部署完成!


Java环境和node环境一块配置在, /etc/profile 里面

注意NODE_HOME要配置在PATH上面,要不然PATH找不到变量NODE_HOME,使用node命令的时候就会报未找到命令

JAVA_HOME=/java/jdkCLASSPATH=$JAVA_HOME/lib/NODE_HOME=/java/nodejsPATH=$PATH:$JAVA_HOME/bin:$NODE_HOME/binNODE_PATH=$NODE_HOME/lib/node_modulesexport PATH JAVA_HOME CLASSPATH NODE_HOME NODE_PATH

转载地址:http://spio.baihongyu.com/

你可能感兴趣的文章
MySQL 在控制台插入数据时,中文乱码问题的解决
查看>>
MySQL 基础架构
查看>>
MySQL 基础模块的面试题总结
查看>>
MySQL 处理插入重主键唯一键重复值办法
查看>>
MySQL 备份 Xtrabackup
查看>>
mysql 复杂查询_mysql中复杂查询
查看>>
mYSQL 外键约束
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>