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访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
跟我学Nodejs(一)--- Node.js简介及安装开发环境
May 20 NodeJs
nodejs npm包管理的配置方法及常用命令介绍
Jun 05 NodeJs
使用Nodejs开发微信公众号后台服务实例
Sep 03 NodeJs
NodeJS学习笔记之Http模块
Jan 13 NodeJs
Nodejs实现文件上传的示例代码
Sep 26 NodeJs
nodejs实现爬取网站图片功能
Dec 14 NodeJs
nodejs图片处理工具gm用法小结
Dec 12 NodeJs
详解nodejs 开发企业微信第三方应用入门教程
Mar 12 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 NodeJs
nodejs对mongodb数据库的增加修删该查实例代码
Jan 05 NodeJs
NodeJS多种创建WebSocket监听的方式(三种)
Jun 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与ASP
2006/10/09 PHP
php实现用于验证所有类型的信用卡类
2015/03/24 PHP
php文件缓存方法总结
2016/03/16 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
2017/02/20 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
jquery实现企业定位式导航效果
2018/01/01 jQuery
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
python基础教程之循环介绍
2014/08/29 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
一个基于flask的web应用诞生(1)
2017/04/11 Python
python 以16进制打印输出的方法
2018/07/09 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
css3 transform属性详解
2014/09/30 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
介绍一下Linux中的链接
2016/06/05 面试题
募捐倡议书怎么写
2014/05/14 职场文书
化妆品活动策划方案
2014/05/23 职场文书
详解非极大值抑制算法之Python实现
2021/06/28 Python
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技