我如何供应Rails 3?

时间:2010-12-23 05:25:20

标签: ruby-on-rails ruby-on-rails-3 bundler

我在我的Rails 3应用程序的vendor/rails中有一个git://github.com/rails/rails的git子模块。这是解压缩/供应商的Rails将在3.0之前的地方。

如何指示我的Gemfile vendor/rails是正确的位置,而不是我的系统范围的rails安装?


所以,有些人已经注意到你可以做到:

gem 'rails', :path => "vendor/rails"

您还可以添加版本号,例如

gem 'rails', '3.0.3', :path => "vendor/rails"

这两个都取决于你在vendor/rails中实际拥有的内容。例如,如果我在git checkout v3.0.3中执行vendor/rails,则这两个都可以自行运行(3.0.3是当前的)。

但如果我改用beta版,我似乎need to add some additional dependencies

gem 'rails', :path => "vendor/rails"
gem 'arel',  :git => 'git://github.com/rails/arel.git'
gem 'rack',  :git => 'git://github.com/rack/rack.git'

我想也可以将这些作为git子模块提取到vendor中,然后再次使用:path

请注意,机架来自github上的rack/rack,而不是rails/rack。后者是一个分叉,自2009年以来一直没有更新。我犯了这个错误并花了几个小时来修复它。

如果您的计算机上安装了旧版本的rails,则可能还需要注意使用script/rails而不是rails命令。

2 个答案:

答案 0 :(得分:2)

你的Gemfile中不仅仅是gem 'rails', '3.0.3', :path => "vendor/rails"吗?

答案 1 :(得分:1)

在Gemfile中使用此行:

gem 'rails', :path => "vendor/rails"