Node是一个JavaScript的运行环境,其携带的npm包管理可以方便的构建前端代码。 本文演示在centos7下安装Node.js。 官网:https://nodejs.org/zh-cn/
1. yum安装
根据想要安装的版本, 选择对应的yum源:
Node.js v13.x:
curl --silent --location https://rpm.nodesource.com/setup_13.x | bash -
Node.js v11.x:
curl --silent --location https://rpm.nodesource.com/setup_11.x | bash -
Node.js v10.x:
curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
执行命令安装: yum install -y nodejs
2 手动编译安装
注意编译安装可能需要的时间比较久
2.1 下载安装包
当前最新的稳定版为14.17.4(2021-08-08): wget https://nodejs.org/dist/v14.17.4/node-v14.17.4.tar.gz
2.2 安装依赖
注意14的版本需要gcc和g++要大于8.3的版本。 yum install gcc gcc-c++
如果需要升级版本可以通过devtoolset暂时的提升版本,重启回话后失效:
# 版本查看
gcc --version
g++ --version
# 版本升级
sudo yum install centos-release-scl
sudo yum install devtoolset-8-gcc*
scl enable devtoolset-8 bash
注意devtoolset是安装在/opt/rh,每个版本的目录下面都有个enable文件,需要切换版本选择对应版本的enable文件执行就行:
source /opt/rh/devtoolset-8/enable
2.3 解压
tar -xzvf node-v14.17.4.tar.gz
2.4 安装
cd node-v14.17.4
#配置安装路径
./configure --prefix=/usr/local/node
make && make install
2.5 配置环境变量
echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/bashrc
source /etc/bashrc
3 版本查看
node -v
npm -v
4 卸载
sudo npm uninstall npm -g
yum remove nodejs npm -y
5 问题
5.1 卸载后再安装版本显示不对
有可能是环境变量没有删除干净。 编辑/etc/bashrc文件结尾,把node的变量删除。
5.2 Gitbook-cli安装报错
报错内容如下:
/usr/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287
if (cb) cb.apply(this, arguments)
^
TypeError: cb.apply is not a function
at /usr/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js:287:18
at FSReqCallback.oncomplete (fs.js:169:5)
注释 polyfills.js 中的 3 行内容(62至64行)即可:
# 路径:/usr/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js
// fs.stat = statFix(fs.stat)
// fs.fstat = statFix(fs.fstat)
// fs.lstat = statFix(fs.lstat)
6 npm换源
6.1 查看当前使用的源
npm config get registry
6.2 临时修改源
不影响配置,修改XXX为下载的包就好 npm --registry https://registry.npm.taobao.org install xxx
6.3 永久修改
npm config set registry https://registry.npm.taobao.org
6.4 切换回默认
npm config set registry https://registry.npmjs.org/
评论