安装
先从 官方网站 下载安装包,有时 node 版本太新会导致失败,详见下方的常见问题第2点
cd /home
// 创建目录,将下载好的 node 安装包上传到此目录
mkdir Download
mkdir /usr/local/lib/node
解压
// 解压,前面是文件当前路径, -C 后是解压到的目标路径
tar -vxf /home/Download/node-v12.22.12-linux-x64.tar.xz -C /usr/local/lib/node
重命名
cd /usr/local/lib/node
// 将 node-v12.22.12-linux-x64 重命名为 nodejs
mv -i node-v12.22.12-linux-x64 nodejs
设置环境变量
注意:这一步需要管理员权限或者对该文件的写入权限。
sudo vim /etc/profile
输入 i 即可对文件进行编辑。
在文件底部添加环境变量:
export NODEJS_HOME=/usr/local/lib/node/nodejs
export PATH=$NODEJS_HOME/bin:$PATH
如图所示:
执行命令(下方清单命令为保存退出):
- 点击esc
- 输入冒号:
- 输入wq
- 点击回车
- 保存并退出。
刷新修改
source /etc/profile
安装完成,查看版本号
node -v
npm -v
常见问题
1. EACCES: permission denied,mkdir …
执行 npm i
时,可能会报这个错误
解决方法
npm i --unsafe-perm=true
–unsafe-perm=true的意思官网解释:
unsafe-perm§Default: false if running as root, true otherwiseType:
BooleanSet to true to suppress the UID/GID switching when running
package scripts. If set explicitly to false, then installing as a
non-root user will fail.
摘自网络的解释就是:
npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的操作,比如写文件(尤其是写/root/.node-gyp),就会崩掉了。为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;要么加 --unsafe-perm 参数,这样就不会切换到 nobody 上,运行时是哪个用户就是哪个用户,即使是 root。
也可以全局设置一下,以后就不用加这个参数进行install了。
npm config set unsafe-perm(针对当前用户的)
npm config -g set unsafe-perm (全局的)
2. node: /lib64/libm.so.6: version ‘GLIBC_2.27’ not found (required by node)
node: /lib64/libm.so.6: version ‘GLIBC_2.27’ not found (required by node)
node: /lib64/libc.so.6: version ‘GLIBC_2.25’ not found(required by node)
…
安装好 node 后,执行 node -v 时可能报这个错,一般是因为node版本过高,可尝试降低 node 版本。