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进程管理模块forever详解
Jun 01 NodeJs
Nodejs+express+html5 实现拖拽上传
Aug 08 NodeJs
NodeJs基本语法和类型
Feb 13 NodeJs
使用nodejs开发cli项目实例
Jun 03 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
搭建简单的nodejs http服务器详解
Mar 09 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
webstorm中配置nodejs环境及npm的实例
May 15 NodeJs
NodeJS 中Stream 的基本使用
Jul 30 NodeJs
用Electron写个带界面的nodejs爬虫的实现方法
Jan 29 NodeJs
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
Dec 14 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中基本符号及使用方法
2010/03/23 PHP
PHP 编写大型网站问题集
2010/05/07 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php中长文章分页显示实现代码
2012/09/29 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
jQuery下拉菜单的实现代码
2016/11/03 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
js实现手机web图片左右滑动效果
2017/12/29 Javascript
vue实现标签云效果的方法详解
2019/08/28 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
python读取excel表格生成erlang数据
2017/08/26 Python
python2 与python3的print区别小结
2018/01/16 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
会计演讲稿范文
2014/05/23 职场文书
食品安全宣传标语
2014/06/07 职场文书
初中同学会活动方案
2014/08/22 职场文书
2014年个人债务授权委托书范本
2014/09/22 职场文书
2014年信访工作总结
2014/11/17 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
北大自主招生自荐信
2015/03/04 职场文书
体育委员竞选稿
2015/11/21 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
Python PIL按比例裁剪图片
2022/05/11 Python