2013-01-16 88 views
0

我正在將補丁應用於2.3.15 rails的fork,以解決最新安全問題之一的解決方法。Rails寶石叉問題

以前在我的寶石文件我有 -

gem 'rails', '2.3.15' 

,一切工作正常。但是,對於我的叉子我有

gem 'rails', '2.3.15', :git => '[email protected]:myrepo/rails.git', :branch => 'CVE-2013-0155-fix' 

做了捆綁安裝後,然後運行我的包EXEC紅寶石腳本/服務器應用程序按往常一樣,我得到這個錯誤 -

| ./script/../config/boot.rb:64:in `require': no such file to load -- initializer (LoadError) 

我想也許我剛剛把我的叉子搞砸了,但是當我將gemfile指向rails git repo時,我遇到了同樣的問題。

gem 'rails', '2.3.15', :git => '[email protected]:rails/rails.git', :tag => 'v2.3.15' 

任何人都可以向我解釋怎麼回事?

+0

您正在使用版本AND分支或標記。你可以刪除版本,只參考一個特定的修訂? – phoet

+0

如果我刪除版本並指向rails/rails上的v2.3.15標記,我會得到 '無法在[email protected]中找到gem'rails(> = 0)ruby':rails/rails.git(at v2 .3.15)。 源代碼不包含任何版本的'rails(> = 0)ruby'' 指向我的分支分支我得到 'Git error:command git rev-parse CVE-2013-0155-fix in directory xxx/.rvm /gems/ree-1.8.7-2012.01/cache/bundler/git/rails-xxx失敗。 如果此錯誤仍然存​​在,您可以嘗試刪除緩存目錄'xxx/.rvm/gems/ree-1.8.7-2012.01/cache/bundler/git/rails-xxx'' – Marklar

回答

0

發現在這裏的問題一個優秀的博文 - http://robanderson123.wordpress.com/2013/01/05/applying-backported-security-patches-to-rails-2-3/

最大的問題在於導軌/ 2-3穩定沒有在回購任何gemspecs。長話短說,做了一個bundle install與導軌設置爲2.3.15。複製鐵軌gemspecs爲activerecord等規格目錄bundle show rails給我的鐵路分叉中的每個相應的目錄。除了我複製到railties目錄中的rails gemspec之外。

此後gem 'rails', '2.3.15', :git => '[email protected]:myrepo/rails.git', :branch => 'my-2-3-branch'按預期工作。