0%

非 root 安装 nodejs

目前会用到一些 nodejs 相关的软件,然而 debian 稳定源提供的 nodejs 版本太老了。就算提供最新版我可能也不会使用源方式进行安装,这样会在全局范围内生效。所以我选择是新建一个普通用户进行安装,需要使用的时候切换到这个用户就可以了。

下面就开始安装了

新建一个用户 专门 用来 安装和运行 nodejs 相关的软件,用户信息设置是可选的,密码随便设置,稍后会删除密码

sudo adduser node

用户新建好后删除密码

sudo passwd -d node

切换到 node 用户

sudo su - node

去 nodejs 官网下载最新稳定版 https://nodejs.org/zh-cn/download/ 选择性对应的构架进行下载就好。目前的最新稳定版是 nodejs10 ,不过因为 nodejs 才更新稳定版。 如果你需要运行的软件无法在最新的 nodejs 稳定版上运行的话,我建议下载 nodejs8。这里我下载的是 linux 64 位的预编译二进制文件

注意:以下的两个下载地址选择一个进行下载即可

下载 nodejs10

wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz

下载 nodejs8

wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz

解压刚才下载的压缩包

tar -Jxf node-*-linux-x64.tar.xz

新建一个文件夹来存放 node 的预编译二进制文件,这个文件是 linux 用户用来储存信息的,比如 pip 。然后修改权限为它本来就应该拥有的权限

mkdir ~/.local && chmod 700 ~/.local

将解压好的 nodejs 放入 ~/.local 并重命名

mv node-*-linux-x64/ ~/.local/node

设置环境变量让我们的下载的 nodejs 能更方便的运行

echo "PATH=\"\$HOME/.local/node/bin:\$PATH\"" >> ~/.profile

刷新一下当时用户的变量环境

source ~/.profile

然后检查一下 node 的安装情况,这里我们用 npm -v 查看一下 npm 的版本,不出意外的话会输出 npm 的版本号

npm -v

npm -g 下载的包默认路径在 /usr/local 之下的目录由于我们不使用 root 运行 node 所以,所以我们需要把下载位置重定向一下

echo "prefix = ${HOME}/.npm_packages" > ~/.npmrc

然后将 npm 下载的包,也添加进环境变量

echo "PATH=\"\$HOME/.npm_packages/bin:\$PATH\"" >> ~/.profile

刷新 当前用户变量

source ~/.profile

到这里 nodejs 就全部安装完成了

更新 nodejs

我个人比较建议清理缓存后重新安装 nodejs

重新安装 nodejs:

npm cache clean -f

然后重新从官网下载预编译二进制包进行安装

使用 n 模块升级 nodejs:

npm cache clean -f

npm install -g n

n stable

篇外

这段话和教程无关只是我使用 linux 的一点经验
~/.profile 的变量路径建议写成这样

if [ -d "$HOME/.npm_packages/bin" ] ; then
    PATH="$HOME/.npm_packages/bin:$PATH"
fi

这样的话 当目录不存在的时候 不会因为 变量路径不存在,而报错,虽然报错不会影响使用。不过我个人作为完美主义者有点受不了