读书人

关于不同版本rails依存

发布时间: 2012-12-18 12:43:41 作者: rapoo

关于不同版本rails并存
先说安装:

gem install -v=1.2.3 rails

指定版本后,会远程安装指定版本的rails

当然,如果你想安装的是最新的 Rails Release,那这样也是可以的

gem i rails

如此就可以在同一台机器上面安装不同version 的 rails 。



确定了你的 gem 已经安装了多个 version,我们必须了较 freeze code 的概念,很多时候我们的某个 Project 的 code 是在某个版本的 rails 开发的。当rails 出了新的 release,原本run 好好的 code 就可能出现一堆 error,所以我们必须要在这个 Project 也包入 Rails 这个 version 的 code。使用方式如下



rake rails:freeze:edge TAG=rel_1-1-6

rake rails:freeze:edge TAG=rel_1-2-3



顾名思义,你可以再 TAG 下面指定你要的 Rails Version,这个指令会把 Rails 放入 vender/rails/ 底下,以后服务器执行前,他都会去这个数据夹寻找,如果有 vender/rails/ 的数据夹,他就不会使用系统预设的 Rails version ,而是使用已经包在这个 Rails 数据夹的 version。



当然,如果我们将已经包好的 Rails Version 解除,重新使用系统预设的 Rails Version,就这样打即可



rake rails:unfreeze



他做的事情其实就只是删除 vender/rails/ 数据夹而已。



最后一点,如果你不确定你的 Rails Package 到底使用那个 Version 的 Rails ,你可以打入

ruby script/about

他会跟你讲的一清二楚的。

读书人网 >网络基础

热点推荐