非 root 用户安装和配置 NodeJS

本文主要针对 Linux 非 root 用户,在没有 root 权限下如果安装及配置 NodeJS(注:这里安装的是官网上已经编译好的二进制包)。

首先到 NodeJS 的官网(https://nodejs.org/en/download/)下载对应的已经编译好的二进制包。

这里以 CentOS 6 32bit 为例,安装 NodeJS 的 LTS 版本:

 1.下载 Linux Binaries 32bit 版本:

curl -o node-v4.4.2-linux-x86.tar.xz https://nodejs.org/dist/v4.4.2/node-v4.4.2-linux-x86.tar.xz

2.将下载好的二进制压缩包解压至指定的安装目录(这里以 ~/apps 为例)

mkdir -p ~/apps
tar -xJf node-v4.4.2-linux-x86.tar.xz --no-wildcards-match-slash --anchored \
    --exclude */CHANGELOG.md --exclude */LICENSE --exclude */README.md \
    --strip 1 -C ~/apps

注:如果出错并提示 xz: Cannot exec: No such file or directory,可能是未安装 xz 解压工具。这里,你可以重新下载 gzip 格式的压缩包( https://nodejs.org/dist/v4.4.2/node-v4.4.2-linux-x86.tar.gz),然后将上面命令中的 -xJf 换成 -xzf

3. 编辑 ~/.bash_profile 或者 ~/.profile,将 ~/apps/bin 添加到环境变量 PATH 中:

export PATH="${PATH}:${HOME}/apps/bin"

    注1:如果配置文件中已经有了 PATH 变量,可以在其后面添加 ${HOME}/apps/bin。注2:如果系统里已经安装了其他版本的 node,可以将 ${HOME}/apps/bin 放在 ${PATH} 的前面,防止使用系统使用的版本,而不是需要安装的版本

4. 现在可以使用 source ~/.bash_profile 或 source ~/.profile(如果修改的是这个配置文件),使上面的修改生效。
这时,键入 node -v 如果可以看到刚刚安装的 node 的版本号,表明已经安装成功了。

5.配置 npm,在 shell 中执行以下命令(如果输入 npm -v 可以看到 npm 的版本号,该步骤可忽略):

mkdir -p ~/apps/etc
echo 'prefix = ${HOME}/apps' > ~/apps/etc/npmrc

题外:

如果系统已经安装了 NodeJS,在使用 npm -g 时,又不想使用 root 权限将 package 安装到 /usr 下面,可以通过配置 npmrc 到当前用户下。以安装到 ~/.npm_packages 下为例:

首先将以下内容添加到 ~/.npmrc 下:

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

然后将 ${HOME}/.npm_packages/bin 添加到环境变量 PATH 里(添加方法见上文),当环境变量更新后,就可以使用 npm -g install <package> 将package 安装到 ~/.npm_packages/lib 下面了。

另外这里提供一个 bash 脚本,可用于更新 NodeJS:

#!/usr/bin/env bash

if [[ -z "$1" ]]  
then  
    echo "Usage: ./update-node-js.sh <NODE_VERSION> [INSTALL_DIR]"
    echo "Example: ./update-node-js.sh v5.10.1 ~/apps"
    exit 1
fi

if [[ -z "$2" ]]  
then  
    dir=~/apps
else  
    dir=$2
fi

version=$1  
arch=$(uname -m)  
if [[ $arch == 'i686' || $arch == 'x86_64' ]]  
then  
    arch='x64'
else  
    arch='x86'
fi

shasum256_file=https://nodejs.org/dist/${version}/SHASUMS256.txt  
url=https://nodejs.org/dist/${version}/node-${version}-linux-${arch}.tar.gz

shasum256_filename=$(basename $shasum256_file)  
nodejs_filename=$(basename $url)

function cleanup {  
    cd $ori
    rm -rf $tmp
}

ori=$(pwd)  
tmp=$(mktemp -d)  
echo "Mkdir ${tmp}..."  
trap cleanup EXIT  
echo "Enter ${tmp}..."  
cd $tmp

echo "Downloading..."  
curl -L $shasum256_file -o $shasum256_filename  
curl -L $url -o $nodejs_filename  
echo "Downloaded!"

echo "Verifying ${nodejs_filename}..."  
grep $(sha256sum $nodejs_filename) $shasum256_filename 2>&1 1>/dev/null

if [[ $? != 0 ]]  
then  
    echo "Verify $nodejs_filename fail!"
    exit 1
fi  
echo "Verify $nodejs_filename success!"

echo "Installing..."  
dir=~zhcp/tmp/ff  
tar -xzf $nodejs_filename --no-wildcards-match-slash --anchored \  
    --exclude */CHANGELOG.md --exclude */LICENSE --exclude */README.md \
    --strip 1 -C $dir
echo "Install success!"  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃鸳鸯锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值