如何设置rails项目以使用边缘源树(而不是已安装的gem)版本的rails

时间:2010-02-25 04:22:16

标签: ruby-on-rails

我想在我的项目中使用rails 3.0源代码树,所以我可以使用补丁等。我不想冻结rails。我希望能够从主回购中提取更新。我该如何做到这一点?

特别是getting started guide,让我与

混淆
As the root user:
# gem install bundler
# bundle install

如果我将捆绑的宝石安装到我的系统中,那么我并没有真正使用vendor / rails源代码树运行。在实际应用上试用补丁之前,rails开发人员是否真的进行了编辑测试编辑测试,然后将gems安装到他们的系统中?

---更新---

$ cd ~myapp/vendor/rails
$ bundler install

vendor / rails / vendor / cache中有很多宝石。当我

$ cd ~/myapp
$ bundler install

... Could not find gem 'rails (= 3.0.0.beta1, runtime)' in any of the sources. (Bundler::GemNotFound)

如何告诉我的应用程序在vendor / rails / vendor / cache中使用捆绑的rails gem获取其宝石?

2 个答案:

答案 0 :(得分:1)

gem "rails", :git => "git://github.com/rails/rails.git"

根据ASCIIcasts Episode 201

答案 1 :(得分:0)

经过多次拧紧后,这就是如何设置edge rails 3.0 beta。

mkdir -p myapp/vendor
cd myapp
git init
git submodule add git://github.com/rails/rails.git vendor/rails
git commit -m "Frozen Rails Edge as submodule"
ruby -r'rubygems' vendor/rails/railties/bin/rails .

然后编辑myapp / Gemfile并更改

gem 'rails', '3.0.0.beta1'

到这个

gem 'rails', '3.0.0.beta1', :path => 'vendor/rails'

最后,在myapp /

bundle check
bundle install

我发现对vendor / rails中的rails源所做的任何更改都会在下次加载时显示。应用补丁后无需“捆绑安装”。

参考文献: 1 2 3 4