非 root 用户全局安装和配置 NodeJS

原创
2018/05/29 15:56
阅读数 1.2W

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

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

        

 

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

        1. 下载 Linux Binaries 64bit 版本:


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

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


mkdir -p ~/tools/nodejs

tar -xJf node-v8.9.4-linux-x64.tar.xz --no-wildcards-match-slash \
--anchored --exclude */CHANGELOG.md --exclude */LICENSE --exclude */README.md \
--strip 1 -C ~/tools/nodejs

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

        当然,也可以安装 xz ,如下:


# 没有xz这个命令,发现还需要按照这样一个工具包.于是,下了这样一个包http://tukaani.org/xz/ 要选择.bz2的,
# 别选.xz的,否则还是解压不了

# 这个包很容易解压
 tar -jxvf xz-5.0.3.tar.bz2

# 解压后一定要进入解压后的文件目录输命令

cd xz-5.0.1

# 接下来大家一定都用这条命令

./configure --prefix=/usr/local/xz

# 然后就进行make了
# 可是我这又有问题了,在configure时就是各种找不到。没有gcc,于是又进行安装
# 于是输入以下命令

yum install update  -y
yum install upgrade -y


# 这个过程有点久,等完成后,再安装gcc

yum install gcc

# 这样安装好后,就可以重复上述步骤了
# 再次进入到存放xz解压工具的文件目录

# 进行如下命令

cd xz-5.0.3/
./configure
make
make install

# 之后就可以愉快地解压tar.xz文件啦

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


export PATH="${PATH}:${HOME}/tools/nodejs/bin" 

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

        4. 现在可以使用 source ~/.bash_profile 或 source ~/.profile(如果修改的是这个配置文件),使上面的修改生效。 

        
        这时,键入 node -v 如果可以看到刚刚安装的 node 的版本号,表明已经安装成功了。

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

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

        6. 通过配置 npmrc 到当前用户下

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

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


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

        然后将 ${HOME}/.npm_packages/bin 添加到环境变量 PATH 里,


export PATH="${PATH}:${HOME}/.npm_packages/bin"  


        当环境变量更新后,就可以使用 npm -g install <package> 将package 安装到 ~/.npm_packages/lib 下面了。

        7. 安装gulp


pm  install -g gulp
gulp -v
注意:若gulp –v不显示版本号,看nodejs是否配置了环境变量

           

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
牛皮,解决了我的问题,特别是这个主意注2:如果系统里已经安装了其他版本的 # node,可以将 ${HOME}/tools/nodejs/bin 放在 ${PATH} 的前面,
昨天 10:54
回复
举报
简直乱写一通 没有 root 你能修改 辑 ~/.bash_profile 或者 ~/.profile,将~/tools/nodejs/bin 文件/?
前天 18:45
回复
举报
PythonJsGo博主
你好,我不清楚你是什么linux发行版本?但是linux每个用户下,都会有一些 .开头的文件。root用户下有,你新增的用户(/home/用户/)下也有, 有些连接工具可能默认不显示,但是你是可以看到这些 .bash_profile ;.bashrc 等。 ~/.bash_profile 前面的 ~ ,代表 当前用户的意思(设置完只在当前用户生效)。你是不是学艺不精?境界有限,没太看懂,看不懂没关系,可以学么?
前天 18:53
回复
举报
安装方式,正合我胃口,sudo安装貌似很多权限继承问题!
04/11 16:53
回复
举报
更多评论
打赏
4 评论
0 收藏
0
分享
返回顶部
顶部