2011-09-09 31 views
0

我試圖在ChiliProject(Redmine fork,Rails 2.3應用程序)上使用warbler將其部署到Java Jetty Web服務器中。但是,當我在項目根文件夾中運行囀,它失敗給定的錯誤消息:嘗試在ChiliProject上使用warble來進行JRuby/Jetty部署時出錯

$ warble --trace 
warble aborted! 
undefined method `gems' for #<Rails::VendorGemSourceIndex:0x2e9267fe> 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb:260:in `all_specs' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/source.rb:172:in `installed_specs' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/source.rb:162:in `fetch_specs' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/index.rb:7:in `build' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/source.rb:161:in `fetch_specs' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/source.rb:70:in `specs' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/definition.rb:159:in `index' 
org/jruby/RubyArray.java:1603:in `each' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/definition.rb:158:in `index' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/index.rb:7:in `build' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/definition.rb:157:in `index' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/definition.rb:151:in `resolve' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/definition.rb:90:in `specs' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/definition.rb:135:in `specs_for' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/bundler-1.0.15/lib/bundler/definition.rb:124:in `requested_specs' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/traits/bundler.rb:102:in `bundler_specs' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/traits/bundler.rb:38:in `add_bundler_gems' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/traits/bundler.rb:29:in `after_configure' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/traits.rb:32:in `after_configure' 
org/jruby/RubyArray.java:1603:in `each' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/traits.rb:32:in `after_configure' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/config.rb:172:in `initialize' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/task.rb:48:in `initialize' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/application.rb:27:in `load_rakefile' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/rake-0.9.2/lib/rake/application.rb:61:in `run' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/lib/warbler/application.rb:70:in `run' 
/Users/razenha/.rvm/gems/jruby-1.6.3/gems/warbler-1.3.2/bin/warble:11:in `(root)' 
org/jruby/RubyKernel.java:1063:in `load' 
/Users/razenha/.rvm/gems/jruby-1.6.3/bin/warble:19:in `(root)' 

我使用JRuby 1.6.3,JDK 1.6,鶯1.3.2和2.2.0 ChiliProject。

回答

0

起初,我可悲的是不得不讓你失望,因爲我們還沒有完全支持JRuby。另一方面,可能還有「唯一」的編碼問題需要解決,所以如果你仔細的話,事情應該沒問題。

這就是說,看起來Rails 2.3在Bundler中的表現並不好。如果將以下文件放入ChiliProject目錄的lib/redmine/core_ext/vendor_gem_source_index.rb中,則應該可以運行鳴鳥。

class Rails::VendorGemSourceIndex 
    def gems 
    @installed_source_index.gems.merge @vendor_source_index.gems 
    end 
end 

您仍然需要配置warbler才能使用正確的捆綁器組。作爲鶯是這裏它自己的東西(因爲我還沒有用捆綁的應用程序使用鳴鳥),你可能需要頂部找出如何配置這個。查看Gemfile和我們的Bundler page瞭解更多信息。

如果你有足夠的嘮叨,我們可能有一天會正式支持這個:)此外,更友好的人可以在我們自己的ForumsIRC中找到。

+0

請將支持添加到JRuby =( – razenha

+0

請在https://www.chiliproject.org中創建一個問題,請嘗試添加您打算如何使用它的方式,即工作流如何部署應用程序。真的不熟悉JRuby/warbler,但會嘗試着解決這個問題。 –

相關問題