下载二进制压缩包:
cd /usr/local/src
wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz
解压缩包:
xz -d node-v8.12.0-linux-x64.tar.xz
tar -xvf node-v8.12.0-linux-x64.tar.xz
mv node-v8.12.0-linux-x64 /usr/local/node
到此为止,nodejs 就算是安装好了一半,可以执行如下命令测试:
/usr/local/node/bin/node -v
上面虽说可以使用了,可是每次运行都加上 /usr/local/node/bin/
有点难受,所以我们接下来配置环境变量,打开 /etc/profile
,在最下面加入如下代码:
vim /etc/profile
# set for nodejs
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
是刚刚配置的环境变量生效:
source /etc/profile
验证环境变量是否配置好:
node -v
npm -v
执行以上操作后,nodejs 算是安装好了,但是当试图安装一个全局包的时候你可能会遇到 EACCES 错误。这个错误表明你没有当前 npm 用来存储全局包命令目录的写权限。可以通过下面两种方式之一来修复解决这个问题:
方式一:修改 npm 默认目录的权限
找到 npm 目录路径:
npm config get prefix
大多数系统,目录一般是 /usr/local
警告: 如果路径显示的是 /usr,直接采用方式二:修改 npm 默认目录的位置 修改 npm 目录的拥有者为当前用户:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
使用这个命令同时修改了 npm 下面子目录和其他工具命令(lib/node_modules,bin,and share)
方式二:修改 npm 默认目录的位置
有时候并不希望修改 npm 默认目录的拥有者,因为这样可能会导致一些其他不可预期的问题,所以我们可以采用修改 npm 目录位置。 我这里使用的是用户根目录下面创建隐藏目录:
创建一个目录用于全局包安装:
mkdir ~/.npm-global
配置 npm 使其使用新的目录:
npm config set prefix '~/.npm-global
打开或者新建~/.profile 文件,并添加目录路径
export PATH=~/.npm-global/bin:$PATH
更新系统变量:
source ~/.profile
测试,下载一个 cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
引文:https://ld246.com/article/1538286938073