我正在为2.3.15 rails的分支应用补丁,以解决最新的安全问题之一。
以前在我的宝石文件中我有 -
gem 'rails', '2.3.15'
一切都按预期工作。但对于我的叉子,我有
gem 'rails', '2.3.15', :git => 'git@github.com:myrepo/rails.git', :branch => 'CVE-2013-0155-fix'
执行捆绑安装,然后按照惯例运行我的应用程序与bundle exec ruby脚本/服务器,我收到此错误 -
| ./script/../config/boot.rb:64:in `require': no such file to load -- initializer (LoadError)
我想也许我刚用叉子弄乱了一些东西,但是当我把我的gemfile指向rails git repo时,我得到同样的问题。
gem 'rails', '2.3.15', :git => 'git@github.com:rails/rails.git', :tag => 'v2.3.15'
任何人都可以向我解释一下是什么?
答案 0 :(得分:0)
在这里找到一篇关于这个问题的优秀博文 - http://robanderson123.wordpress.com/2013/01/05/applying-backported-security-patches-to-rails-2-3/
最大的问题是rails / 2-3-stable在回购中没有任何gemspec。长话短说,做bundle install
,导轨设置为2.3.15。将条目目录bundle show rails
中的rails gemspecs for activerecord等复制到我的fork of rails中的每个相应目录中。除了我复制到railties目录中的rails gemspec之外。
此gem 'rails', '2.3.15', :git => 'git@github.com:myrepo/rails.git', :branch => 'my-2-3-branch'
按预期工作。