Node.js 安装笔记
本文记录了第一次安装 Node.js 的详细过程,以及遇到的一些问题。
系统环境
- 操作系统:CentOS 7.4 64位
- CPU:1核
- 内存:2GB
- 服务商:腾讯云
安装过程
下载 Node.js 源码。打开 https://nodejs.org/en/download/ (稳定版)或 https://nodejs.org/en/download/current/ (最新版),拉到下方选择“All download options”,选择目标版本和适合当前平台的安装文件,这里我们选择安装最新版本 9.10.0:
1
2cd /usr/local/src/
wget -c https://nodejs.org/dist/v9.10.0/node-v9.10.0.tar.gz解压 Node.js 源码:
1
tar -zxvf node-v9.10.0.tar.gz
编译安装:
1
2
3
4cd -v9.10.0
./configure --prefix=/usr/local/node/9.10.0
make
make install执行
./configure
可能出现以下错误:1
Node.js configure error: No acceptable C compiler found!
这里需要下载 gcc-c++:
1
yum install gcc-c++
然后再执行
./configure
,就会收到以下警告…1
WARNING: C++ compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)
emmm… 好吧,yum 是不行了,那就手动安装吧,参考下方『手动安装 gcc』。
配置 NODE_HOME,进入 profile 编辑环境变量:
1
vim /etc/profile
设置 Node.js 环境变量,在
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
一行的上面添加如下内容:1
2
3# set for nodejs
export NODE_HOME=/usr/local/node/9.10.0
export PATH=$NODE_HOME/bin:$PATH:wq
保存并退出,编译 /etc/profile 使配置生效:1
source /etc/profile
验证是否安装配置成功,输出版本号表示配置成功:
1
2
3
4node -v
# output
v9.10.0🍻至此 Node.js 安装完成~
npm 模块安装路径:
1
/usr/local/node/9.10.0/lib/node_modules
手动安装 gcc
获取安装文件。打开 https://ftp.gnu.org/gnu/gcc/ 选择一个版本,这里我们选择最新版本 7.3.0:
1
2
3cd /usr/local/src
wget -c https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
tar -zxvf gcc-7.3.0.tar.gz下载依赖项:
1
2cd gcc-7.3.0
./contrib/download_prerequisites这里可能会卡一下,稍等片刻。
生成编译文件:
1
2
3mkdir gcc-build-7.3.0
cd gcc-build-7.3.0
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib执行编译,生成 Makefile 文件。
1
make
这个过程炒鸡久,我这花了大概一个小时,你可以去放松下吃两把鸡再回来 orz…
终于可以安装了…
1
sudo make install
重启服务器后,验证版本:
1
gcc -v
我这里是:
1
2
3
4
5
6
7使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
gcc 版本 7.3.0 (GCC)完了吗?
emmm… 不会有无缘无故的问句的对吧… 实际上,升级 gcc 生成的动态库并没有替换老版本的动态库,我们去手动替换一下。
查找编译 gcc 时生成的最新动态库:
1
find / -name "libstdc++.so*"
将找到的动态库 libstdc++.so.6.0.24 复制到 /usr/lib64 :
1
cp /usr/local/src/gcc-7.3.0/gcc-build-7.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.24 /usr/lib64
切换工作目录至 /usr/lib64,删除原来的软链接, 将默认库的软链接指向最新动态库:
1
2
3cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.24 libstdc++.so.6🐔好了,收工…
参考资料
关于
- 作者:Leo
- 邮箱:
echo bGVvZGF4aWFAZ21haWwuY29tCg== | base64 -D
- GitHub:https://github.com/iTofu
- 版权声明: CC BY-NC-SA 3.0 ,转载需注明出处。