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 模块开发及发布详解分享
Mar 07 NodeJs
nodejs入门详解(多篇文章结合)
Mar 07 NodeJs
nodejs中使用monk访问mongodb
Jul 06 NodeJs
浅谈NodeJS中require路径问题
May 07 NodeJs
Nodejs实现批量下载妹纸图
May 28 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
nodejs前端模板引擎swig入门详解
May 15 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 NodeJs
typescript nodejs 依赖注入实现方法代码详解
Jul 21 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 NodeJs
nodejs实现UDP组播示例方法
Nov 04 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-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
phpMyAdmin 安装及问题总结
2009/05/28 PHP
PHP 页面编码声明方法详解(header或meta)
2010/03/12 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
js 上下左右键控制焦点(示例代码)
2013/12/14 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
angular6根据environments配置文件更改开发所需要的环境的方法
2019/03/06 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
jQuery实现评论模块
2020/08/19 jQuery
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
python获取本机mac地址和ip地址的方法
2015/04/29 Python
python队列queue模块详解
2018/04/27 Python
Python pymongo模块常用操作分析
2018/09/01 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
python操作日志的封装方法(两种方法)
2019/05/23 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
迪拜航空官方网站:flydubai
2017/04/20 全球购物
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
PHP高级工程师面试问题推荐
2013/01/18 面试题
社会公德演讲稿
2014/05/20 职场文书
借款协议书
2014/09/16 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
高三教师工作总结2015
2015/07/21 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
公司会议开幕词
2016/03/03 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android