Node是一个JavaScript的运行环境,其携带的npm包管理可以方便的构建前端代码。
本文演示在centos7下安装Node.js。
官网:https://nodejs.org/zh-cn/
方式一、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
方式二、手动编译安装
注意编译安装可能需要的时间比较久
1.下载安装包
当前最新的稳定版为14.17.4(2021-08-08):
wget https://nodejs.org/dist/v14.17.4/node-v14.17.4.tar.gz
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
3.解压
tar -xzvf node-v14.17.4.tar.gz
4.安装
cd node-v14.17.4
#配置安装路径
./configure --prefix=/usr/local/node
make && make install
5.配置环境变量
echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/bashrc
source /etc/bashrc
版本查看
node -v
npm -v
卸载
sudo npm uninstall npm -g
yum remove nodejs npm -y
问题
1.卸载后再安装版本显示不对
有可能是环境变量没有删除干净。
编辑/etc/bashrc文件结尾,把node的变量删除。
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)
npm换源
查看当前使用的源
npm config get registry
临时修改源
不影响配置,修改XXX为下载的包就好
npm --registry https://registry.npm.taobao.org install xxx
永久修改
npm config set registry https://registry.npm.taobao.org
切换回默认
npm config set registry https://registry.npmjs.org/