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服务器(1):一个简单nodejs服务器例子
Dec 18 NodeJs
nodejs爬虫抓取数据乱码问题总结
Jul 03 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
NodeJS使用formidable实现文件上传
Oct 27 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
图片上传之FileAPI与NodeJs
Jan 24 NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 NodeJs
使用 NodeJS+Express 开发服务端的简单介绍
Apr 07 NodeJs
详解Windows下安装Nodejs步骤
May 18 NodeJs
NodeJS实现视频转码的示例代码
Nov 18 NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 NodeJs
Nodejs实现WebSocket代码实例
May 19 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
如何将数据从文本导入到mysql
2006/10/09 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
javascript 日期常用的方法
2009/11/11 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
浅谈JavaScript中的Math.atan()方法的使用
2015/06/14 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
10道典型的JavaScript面试题
2017/03/22 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
python持久性管理pickle模块详细介绍
2015/02/18 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
Python执行时间的计算方法小结
2017/03/17 Python
python 生成器协程运算实例
2017/09/04 Python
Python实现读取字符串按列分配后按行输出示例
2018/04/17 Python
Python3爬虫全国地址信息
2019/01/05 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
2019/10/12 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
python入门之基础语法学习笔记
2020/02/08 Python
python求解汉诺塔游戏
2020/07/09 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
Internal修饰符有什么含义
2013/07/10 面试题
护理个人求职信范文
2014/01/08 职场文书
高中语文教学反思
2014/01/16 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
学习普通话的体会
2014/11/07 职场文书
网吧温馨提示
2015/07/17 职场文书