如何在Mac 终端升级ruby版本

Python08

如何在Mac 终端升级ruby版本,第1张

rvm是什么?为什么要安装rvm呢,因为rvm可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。

第一步:安装rvm

$ curl -L get.rvm.io | bash -s stable

$ source ~/.rvm/scripts/rvm

等待终端加载完毕,后输入:

rvm -v

如果能显示版本好则安装成功了。

第二步:安装ruby

列出ruby可安装的版本信息

rvm list known

安装一个ruby版本

rvm install 2.1.4

如果想设置为默认版本,可以用这条命令来完成

rvm use 2.1.4 --default

查看已安装的ruby

rvm list

卸载一个已安装ruby版本

rvm remove 2.1.4

第三步:更换源

查看已有的源

gem source

显示会如下:

CURRENT SOURCES

http://rubygems.org/

然后我们需要来修改更换源(由于国内被墙)所以要把源切换至淘宝镜像服务器 在终端执行以下命令

$ gem update --system

$ gem uninstall rubygems-update

$ gem sources -r http://rubygems.org/

$ gem sources -a http://ruby.taobao.org

最近几天被RuyGems版本搞伤了,想卸载,Google,百度还找不着。

只好试着去删除,今天忽然发现yum remove rubygems -y好使,总算是rubygems回到1.3.7我要的版本了,但是也是有副作用的,会把puppet-server端(幸运的是配置文件,模板,认证都还在,不用重新来)和dashboard等删除,但是重装下就好了。

rails:freeze:gems

下面是查询的一些资料:Ruby onRails允许你”冻结”你的应用使用的Rails版本。当你冻结Rails时,你的应用将会一直使用冻结的版本,并且和Ruby

Gems相关联,与当前服务器上跑的Rails版本无关。你可以将应用冻结到你想要的版本。

当你的Rails程序用在商业站点或其它对稳定性要求较高的生产环境时,冻结你的Rails版本是推荐使用的。(如果你不冻结的话,你的Rails应用可能因版本升级后的兼容性问题而停止)。然而你需要注意的是,如果你的应用冻结到当前或是更老的版本后,你将不会获得自动升级后的安全性好处。你需要及时跟踪当前的Rails版本(比如通过订阅Rails的邮件列表),必要的话升级你的应用。

冻结Rails要冻结你的Rails程序,你需要

1.打开SSH或Telnet终端,登录到服务器上

2.切换到你要冻结的Rails应用目录下。

例如,你创建了一个”test”应用rails testcd test

3.执行下面的命令,冻结你的Rails程序到当前服务器上的版本rakerails:freeze:gems

这将拷贝Rails的相关文件到你的程序”vendor/rails”下。当程序运行时,你的应用会首先检查这个目录下存在的文件,如果存在的话,Rails会加载该目录下的Rails组件而不会使用服务器上当前版本的Rails。只要你不删除这些文件,你的应用将会继续被冻结。

解冻Rails如果你决定切换回当前服务器上的Rails版本,你可以通过下面命令移除冷冻的版本:rakerails:unfreeze

冻结到不同的版本

例如,下面的命令可以将你的程序冻结到Rails

1.0.0rakerails:freeze:edge TAG=rel_1-0-0

冻结到当前开发的版本rakerails:freeze:edge

当升级的时候,冻结不同的Rails版本是很有用的。假如你创建了一个rails应用并冻结到1.1.5以保证稳定,当你意识到rails需要升级(版本1.1.6可用了),你可以在服务器比较空闲的时候对冻结的版本进行升级:rakerails:freeze:edge TAG=rel_1-1-6

然后测试你的应用以确保可以工作,如果没有问题,将使用最新的Rails。如果有问题,你可以再恢复之前的版本直到你确定问题所在。rakerails:freeze:edge TAG=rel_1-1-5

这个我自己尝试了一下,我新建了一个工程:railsmyapp发现C:\rails\myapprake

rails:freeze:gems

(in C:/rails/myapp)

Freezing to the gems for Rails 1.2.3

Unpacked gem: 'activesupport-1.4.2'

Unpacked gem: 'activerecord-1.15.3'

Unpacked gem: 'actionpack-1.13.3'

Unpacked gem: 'actionmailer-1.3.3'

Unpacked gem: 'actionwebservice-1.2.3'

之后查看文件夹,发现myapp/vendor下多了个rails文件夹,里面生成了这些目录。