非 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!"  
<think>好的,我现在需要帮助用户在CentOS 7上安装Node.js配置环境变量。首先,我要回想一下用户提供的引用内容,看看有哪些方法可用。根据引用[2][5],提到了安装Node.js 18.20.4版本,以及通过创建软链接来配置环境变量。引用[3]提到了使用wget下载二进制包并解压安装,而引用[4][1]则提到了其他配置方法,比如修改环境变量文件。 用户的问题是在CentOS 7上安装Node.js并进行环境配置。常见的安装方法有两种:使用NodeSource仓库安装手动二进制包安装。我需要先确认这两种方法的步骤是否正确,并确保环境变量配置部分准确。 首先,使用NodeSource的方法。根据引用[2],可能需要添加NodeSource的仓库,然后使用yum安装。但用户提供的引用中没有直接提到NodeSource,不过根据常见做法,这是标准方法之一。需要检查命令是否正确,比如curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash -,然后sudo yum install -y nodejs安装完成后,验证版本是否正确。 第二种方法是手动安装,如引用[3][5]所述。下载对应的.tar.xz文件,解压到指定目录,比如/usr/local/nodejs,然后设置环境变量。这里需要注意的是,用户是否需要将路径添加到/etc/profile或者用户目录的.bashrc中。引用[5]提到创建软链接到/usr/local/bin,这可能也是一种方法,但通常更推荐直接添加PATH变量。 环境变量配置方面,引用[3][5]有不同的做法。引用[3]可能直接在/etc/profile中添加PATH,而引用[5]使用软链接。需要比较这两种方法的优缺点。软链接可能更方便,但如果多个版本存在可能会有冲突。而修改PATH则更直接,但需要确保路径正确。 另外,用户可能关心如何验证安装是否成功,比如运行node -vnpm -v命令。同时,可能需要配置npm的全局安装路径,避免权限问题,比如使用npm config set prefix ~/.npm-global,并在.bashrc中添加相应的路径,如引用[4]中提到的配置。 需要确保步骤清晰,分点说明两种方法,并指出推荐的方法。例如,使用NodeSource仓库安装更简单,适合大多数用户,而手动安装适合需要特定版本或离线环境的情况。同时,环境变量的配置要详细,避免用户遗漏步骤导致命令无法找到。 最后,生成相关问题,比如如何升级Node.js,如何配置npm镜像源等,这些可能用户后续会遇到的问题。 检查是否有遗漏步骤或错误,比如解压后的文件夹权限,或者软链接的正确性。确保所有命令在CentOS 7上有效,比如wgettar命令是否默认安装,如果没有,可能需要先安装这些工具。此外,引用[5]提到创建软链接到/usr/local/bin,这可能需要在root权限下进行,所以命令前可能需要sudo。 总结,步骤需要详细但不过于复杂,确保用户能一步步操作成功,同时引用相关引用内容作为支持,比如引用[2]、[3]、[5]中的方法。</think>### CentOS 7 安装 Node.js配置环境变量 以下是两种常用方法,可根据需求选择: --- #### **方法一:通过 NodeSource 仓库安装(推荐)** 1. **添加 NodeSource 仓库** 执行以下命令添加 Node.js 18.x 的官方仓库: ```bash curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - ``` 2. **安装 Node.js npm** 通过 yum 安装最新版本: ```bash sudo yum install -y nodejs ``` 3. **验证安装** 检查版本以确认安装成功: ```bash node -v # 输出类似 v18.20.4 npm -v # 输出对应 npm 版本 ``` --- #### **方法二:手动安装二进制包(离线环境适用)** 1. **下载二进制包** 进入官方下载页面选择版本(例如 18.20.4),使用 wget 下载: ```bash wget https://nodejs.org/dist/v18.20.4/node-v18.20.4-linux-x64.tar.xz ``` 2. **解压并移动文件** 解压到 `/usr/local/nodejs` 目录: ```bash sudo mkdir -p /usr/local/nodejs sudo tar -xJvf node-v18.20.4-linux-x64.tar.xz -C /usr/local/nodejs ``` 3. **配置环境变量** 编辑全局配置文件 `/etc/profile`,添加以下内容: ```bash export NODE_HOME=/usr/local/nodejs/node-v18.20.4-linux-x64 export PATH=$NODE_HOME/bin:$PATH ``` 加载配置使其生效: ```bash source /etc/profile ``` 4. **验证安装** 同样通过 `node -v` `npm -v` 检查版本[^2][^5]。 --- #### **补充配置(可选)** 1. **设置 npm 全局安装路径** 避免权限问题,创建自定义目录并配置: ```bash mkdir ~/.npm-global npm config set prefix ~/.npm-global ``` 在 `~/.bashrc` 中添加: ```bash export PATH=~/.npm-global/bin:$PATH ``` 执行 `source ~/.bashrc` 生效[^4]。 2. **更换 npm 镜像源** 使用淘宝镜像加速依赖下载: ```bash npm config set registry https://registry.npmmirror.com ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不吃鸳鸯锅

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

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

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

打赏作者

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

抵扣说明:

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

余额充值