论坛首页 编程语言技术论坛

一個有意思的rake脚本

浏览 2667 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-05-30  

近来由于新项目的需要,把系统的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

 可查看更多的脚本

 

   发表时间:2008-09-28  
这个命令我测试rails 1。2以下的版本有问题   特别是 0.14.2  1.0  1.0
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics