欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一個有意思的rake脚本

程序员文章站 2024-03-12 17:26:02
...

近来由于新项目的需要,把系统的rails版本升级到了2.0.2,可是这个rails版本并不与旧版本兼容,导致使用老版本开发的项目出现诸多问题。

如何解决多项目对应多rails版本的问题呢?

今天发现一个很管用的rake脚本,命令如下(项目目录下执行

 
rake rails:freeze:gems

 这个命令是根据你的RAILS_ROOT/config/environment.rb中的RAILE_GEM_VERSION常量设置的值把项目与具体的rails版本绑定,输出如下:

Freezing to the gems for Rails 1.2.2
rm -rf vendor/rails
mkdir -p vendor/rails
cd vendor/rails
Unpacked gem: 'activesupport-1.4.1'
mv activesupport-1.4.1 activesupport
Unpacked gem: 'activerecord-1.15.2'
mv activerecord-1.15.2 activerecord
Unpacked gem: 'actionpack-1.13.2'
mv actionpack-1.13.2 actionpack
Unpacked gem: 'actionmailer-1.3.2'
mv actionmailer-1.3.2 actionmailer
Unpacked gem: 'actionwebservice-1.2.2'
mv actionwebservice-1.2.2 actionwebservice
Unpacked gem: 'rails-1.2.2'
cd -

 其实就是把指定版本的rails以及依赖的组件放到项目的vendor目录下,这样项目就不再依赖系统的rails版本,而是每次启动的时候都在verndor目录下去记载rails框架,移植起来也比较方便

输入:

rake --tasks

 可查看更多的脚本