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


Posted in NodeJs onFebruary 12, 2020

在一些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,希望对大家有所帮助!

NodeJs 相关文章推荐
nodejs教程之制作一个简单的文章发布系统
Nov 21 NodeJs
windows下安装nodejs及框架express
Aug 07 NodeJs
Nodejs全局安装和本地安装的不同之处
Jul 04 NodeJs
Express与NodeJs创建服务器的两种方法
Feb 06 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
angular2+nodejs实现图片上传功能
Mar 27 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
Windows下快速搭建NodeJS本地服务器的步骤
Aug 09 NodeJs
基于nodejs res.end和res.send的区别
May 14 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
CentOS7中源码编译安装NodeJS的完整步骤
Oct 13 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
nodejs实现百度舆情接口应用示例
Feb 07 #NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 #NodeJs
nodejs nedb 封装库与使用方法示例
Feb 06 #NodeJs
nodejs实现的http、https 请求封装操作示例
Feb 06 #NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 #NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 06 #NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 #NodeJs
You might like
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
PHP实现微信对账单处理
2018/10/01 PHP
PHP基于openssl实现非对称加密代码实例
2020/06/19 PHP
基于jquery 的一个progressbar widge
2010/10/29 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
浅谈Python实现Apriori算法介绍
2017/12/20 Python
在Python 中实现图片加框和加字的方法
2019/01/26 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Python __slots__的使用方法
2020/11/15 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
外贸业务员求职自荐信分享
2013/09/21 职场文书
北大研究生linux应用求职信
2013/10/29 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
党员个人整改措施
2014/10/24 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
爱护公物主题班会
2015/08/17 职场文书
2016年小学生新年寄语
2015/08/18 职场文书
2019年预备党员的思想汇报:加深对党的认知
2019/09/25 职场文书
MySQL数据库 任意ip连接方法
2022/05/20 MySQL