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 Express框架中处理404页面一个方式
May 28 NodeJs
基于 Docker 开发 NodeJS 应用
Jul 30 NodeJs
基于NodeJS的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
nodejs中使用多线程编程的方法实例
Mar 24 NodeJs
浅谈NodeJS中require路径问题
May 07 NodeJs
详解nodejs与javascript中的aes加密
May 22 NodeJs
nodeJs链接Mysql做增删改查的简单操作
Feb 04 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
详解NodeJS模块化
Jun 15 NodeJs
node快速搭建后台的实现步骤
Feb 18 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模块memcache和memcached区别分析
2011/06/14 PHP
php反射应用示例
2014/02/25 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
2014/06/30 PHP
PHP中实现crontab代码分享
2015/03/26 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
JavaScript 乱码问题
2009/08/06 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
jQuery多级联动下拉插件chained用法示例
2016/08/20 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
微信小程序 this和that详解及简单实例
2017/02/13 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
python zip文件 压缩
2008/12/24 Python
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
python实现挑选出来100以内的质数
2015/03/24 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
2016/07/12 Python
基于python的字节编译详解
2017/09/20 Python
Django处理文件上传File Uploads的实例
2018/05/28 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
学前教育教师求职自荐信
2013/09/22 职场文书
小学教师的自我评价范例
2013/10/31 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
郭明义观后感
2015/06/08 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python