linux 下以二进制的方式安装 nodejs

所属分类: 网络编程 / JavaScript 阅读数: 528
收藏 0 赞 0 分享

在一些linux环境下,安装最新的nodejs比较麻烦,因为受到linux源的影响,往往直接通过yum/apt安装的都不是想要的版本,因此,必须自己去选择 对应的版本 来安装。但是,nodejs官方又不会为所有的操作系统打包,而编译安装常常又会遇到依赖问题。所以在一些情况下,我们需要在linux机器上,直接下载官方构建好的产出结果来运行。

例如,我们现在需要安装v10.x版本,我们通过wget下载对应的-linux-x64.tar.gz文件,然后通过tar命令将其解压到~/.lib/目录下。(注意,这里,我只需要我自己当前这个账号可以使用该node包。)然后修改~/.bashrc文件,在其末尾增加:

export PATH="$PATH:~/.lib/node-v10.9.0/bin"

然后执行:

source .bashrc

这样就可以让node生效了。这个操作很好理解,就是将node的bin路径加入到环境变量PATH中。

而如果要让登陆这台linux的所有用户都可以使用这个node的话,则需要将解压出来的文件夹放到一个公共的位置,一般会考虑放到/usr/local/lib目录下面,当然,位置不是最重要的,重要的是,你需要在/etc/profile这个文件中添加上面的 export 语句。而且里面指向的路径需要用绝对路径,这样就可以让其他用户享受nodejs的快乐。

以下是Shell代码:

#!/bin/sh
#
# 安装NodeJS
#
# Yepo 2016-07-28
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
clear
printf "
#######################Install NodeJS######################
"
#下载NodeJS二进制包
nodeVersion=v0.12.15
wget https://nodejs.org/download/release/$nodeVersion/node-$nodeVersion-linux-x64.tar.gz
#移动到指定目录
srcDir=/usr/local/src
#转移包
mv node-$nodeVersion-linux-x64.tar.gz $srcDir
#转到该目录
cd $srcDir
#解押包
tar xzf $srcDir/node-$nodeVersion-linux-x64.tar.gz
#更名,这个看喜好啦
mv node-$nodeVersion-linux-x64/ node/
#放到指定目录
mv node ../
#把可执行的两个程序放到/usr/local/bin
cd /usr/local/node/bin
mv node /usr/local/bin
#删除这个软连接
rm -rf npm
#转到/usr/local/bin创建npm的软连接
cd /usr/local/bin
ln -s /usr/local/node/lib/node_modules/npm/cli.js npm
#检查安装
isCompleted=0
node -v > /dev/null 2>&1
isCompleted=$?
npm help > /dev/null 2>&1
isCompleted=$?
if [ "$isCompleted" == "0" ];then
    echo "OK"
else
    echo "Error"
fi

以上所述是小编给大家介绍的linux 下以二进制的方式安装 nodejs,希望对大家有所帮助!

更多精彩内容其他人还在看

js实现图片上传预览原理分析

这篇文章主要为大家详细介绍了js实现图片上传预览的原理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Angular限制input框输入金额(是小数的话只保留两位小数点)

最近做项目遇到这样的需求输入框要求输入金额,只能输入数字,可以是小数,必须保留小数点后两位。下面分为两部分代码给大家介绍实现代码,需要的的朋友参考下吧
收藏 0 赞 0 分享

详解vue-cli + webpack 多页面实例配置优化方法

本篇文章主要介绍了详解vue-cli + webpack 多页面实例配置优化方法,具有一定的参考价值,有兴趣的可以了解一下
收藏 0 赞 0 分享

详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)

本篇文章主要介绍了React-Native解决键盘遮挡问题(Keyboard遮挡问题),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JavaScript反弹动画效果的实现代码

本文通过实例代码给大家介绍了js反弹动画效果的实现代码,需要的朋友参考下吧
收藏 0 赞 0 分享

解决vue2.x中数据渲染以及vuex缓存的问题

本篇文章主要介绍了vue2.x中请求之前数据显示以及vuex缓存的问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

jsonp跨域请求详解

这篇文章主要为大家详细介绍了jsonp跨域请求的相关资料,激活了所有接口支持浏览器跨域请求的封装,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

解决vue里碰到 $refs 的问题的方法

本篇文章主要介绍了解决vue里碰到 $refs 的问题的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

js自定义弹框插件的封装

这篇文章主要为大家详细介绍了js自定义弹框插件的简单封装,自己封装一个弹框插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

深入理解vue $refs的基本用法

本篇文章主要介绍了深入理解vue $refs的基本用法 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多