我在我的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
命令。
答案 0 :(得分:2)
你的Gemfile中不仅仅是gem 'rails', '3.0.3', :path => "vendor/rails"
吗?
答案 1 :(得分:1)
在Gemfile中使用此行:
gem 'rails', :path => "vendor/rails"