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实现的一个简单聊天室功能分享
Dec 06 NodeJs
NodeJS学习笔记之Connect中间件模块(一)
Jan 27 NodeJs
iPhone手机上搭建nodejs服务器步骤方法
Jul 06 NodeJs
nodejs学习笔记之路由
Mar 27 NodeJs
nodejs爬虫遇到的乱码问题汇总
Apr 07 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 NodeJs
Nodejs进阶:express+session实现简易登录身份认证
Apr 24 NodeJs
nodejs更改项目端口号的方法
May 13 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
Nodejs实现爬虫抓取数据实例解析
Jul 05 NodeJs
nodejs 使用 js 模块的方法实例详解
Dec 04 NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 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
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
用javascript实现给图片加链接
2007/08/15 Javascript
学习ExtJS accordion布局
2009/10/08 Javascript
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
javascript的日期对象、数组对象、二维数组使用说明
2014/12/22 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
Python中的pprint折腾记
2015/01/21 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
Python序列化基础知识(json/pickle)
2017/10/19 Python
Django forms组件的使用教程
2018/10/08 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
如何教少儿学习Python编程
2020/07/10 Python
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
岗位职责的定义
2013/11/10 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
政治表现评语
2014/05/04 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
2014年教务工作总结
2014/12/03 职场文书
学校证明范文
2015/06/24 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书