使用RVM轻松部署Ruby环境
Ruby用得不多,但发现有业务需要部署指定的版本和插件。起初找了一些Fedora的src.rpm重新打包,发现依赖问题比较多,最终还是费劲的把el6的包编出来了。
不巧今天又有业务要求el5的包,原本不维护el5了。突然想起RVM(Ruby Version Manager),轻松搞定:
# curl -L https://get.rvm.io | bash -s stable --autolibs=enabled --ruby # https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installerecho insecure >> ~/.curlrc # CentOS 5 需要curl -L https://get.rvm.io | bash -s stable source /etc/profilesed -i 's!ftp.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!' /usr/local/rvm/config/db # 使用淘宝源,普通用户被安装在 ~/.rvm目录下rvm list known # 查看支持安装的组件和版本yum -y install gcc-c++ readline-devel zlib-devel libyaml-devel libffi-devel openssl-devel make autoconf automake libtool bison # 理论上RVM会自动检测并安装依赖包rvm install ruby # 下载+编译安装ruby -v |

好,在此Ruby顺利安装完成。和Python类似,Ruby需要丰富的第3方库方显活力。官网源由于网络原因下载会非常慢,感谢淘宝提供了可靠的国内资源。速度配置上:
gem sources -lgem sources --remove https://rubygems.org/gem sources -a http://ruby.taobao.org/gem sources -l |

然后,安装所需的开发库吧`gem install googleplay_dev_scraper`:

在部分CentOS 5机器上安装过程出现错误,执行`rvm reinstall ruby --verify-downloads 1`重装后正常:

RVM目前(v1.22.19)仅支持编译安装,若需要批量部署建议用FPM制作RPM包进行分发,打包 '/usr/local/rvm/ /etc/rvmrc /etc/profile.d/rvm.sh' 即可。RVM作者表示v2.0将支持rpm的生成!

好,至此。玩得开心!
使用RVM轻松部署Ruby环境的更多相关文章
- 【CocoaPods】配置CocoaPods前 - 本地安装好Ruby环境
xcode (反正就是代码编辑器) Xcode就不用说了把. homebrew (反正就是软件管理器) homebrew是一个包管理器,用于在mac上安装一些os x上没有的UNiX工具(比如wget ...
- iOS Mac系统下Ruby环境安装
由EasyIOS引出的一系列问题:转载的上一篇CocoaPods安装和使用教程中说明了,为什么要使用cocoapods ,但是要安装cocoapods需要Ruby环境,安装Ruby环境首先需要安装Xc ...
- MAC机中安装RUBY环境
在安装CocoaPods之前要先配置好RUBY环境,本文就怎么安装RUBY的环境进行一总结.安装Ruby环境首先需要安装Xcode然后需要安装Homebrew,接下来需要安装RVM最后安装Ruby环境 ...
- [转]基于boot2docker部署Docker环境
本文转自:https://www.cnblogs.com/52fhy/p/8413029.html Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要 ...
- 基于boot2docker部署Docker环境
Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要的开发环境,然后把镜像导出打包,只有有docker环境,便可以快速还原原来的开发环境. 很常用的一个 ...
- iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决
〇.前言 <p>在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器. 有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻 ...
- 使用Vagrant在Windows下部署开发环境
做Web开发少不了要在本地搭建好开发环境,虽然说目前各种脚本都有对应的Windows版,甚至是一键安装包,但很多时候和Windows环境的相性并不是那么好,各麻烦的问题是实际部署的环境通常是Linux ...
- cocoapods:安装/更新Ruby环境教程
简介 有时候在安装cocoapods时会产生如下错误 ERROR: Error installing cocoapods: activesupport requires Ruby version &g ...
- mac系统下Ruby环境安装
在我们编写代码过程中,会用到一系列的第三方开源类库,我们可以选择手动去一个个添加需要的库,但这非常麻烦.因此我们可以使用CocoaPods来帮助我们自动添加.使用CocoaPods需要先安装Ruby环 ...
随机推荐
- 20181016-4 Alpha阶段第2周/共2周 Scrum立会报告+燃尽图 05
作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2288 Scrum master:王硕 一.小组介绍 组长:王一可 组员:范 ...
- 漫漫征途,java开发(未完待续)
前言 2018年,大二上,有幸加入服务外包实验室的考核,在考核中,主动加入xxx项目的后端,一是为了积累项目经验,二是为了学到更多东西,进入了之后发现原来要学的这么多,时间这么紧!但唯有学习! 心得体 ...
- 团队Alpha冲刺(十)
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...
- Dijkstra+优先队列 模板
#include<bits/stdc++.h> using namespace std; #define ll long long ; const ll inf=1e17; struct ...
- 领悟JavaScript面向对象
JavaScript 是面向对象的.但是不少人对这一点理解得并不全面. 在 JavaScript 中,对象分为两种.一种可以称为“普通对象”,就是我们所普遍理解的那些:数字.日期.用户自定义的对象(如 ...
- The goal you specified requires a project to execute but there is no POM in this directory
[INFO] Scanning for projects... [INFO] ------------------------------------------------------------- ...
- Java多线程 -sleep 用法详解
阿里面试官问我这个问题,我仔细总结了一下: 参考:sleep.yield.wait.join的区别(阿里面试) 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确 ...
- 第147天:web前端开发中的各种居中总结
一.水平居中 方法① :行内元素 (父元素)text-align,(子元素)inline-block .parent{text-align: center;} .child{display: inli ...
- CF17E Palisection manacher
题面:洛谷(带翻译) 题解: 直接求相交不太好求,所以考虑求不相交的回文串对数. 设ll[i]表示以i为开头的回文串个数,rr[i]表示结尾<=i的回文串个数. 然后不相交的回文串对数显然就是对 ...
- Ajax+Js局部刷新
通过 AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 对象来直接与服务器进行通信.通过这个对象, JavaScript 可在不重载页面的情况与 Web ...