0

ChiliProject (Redmine フォーク、Rails 2.3 アプリ) で warbler を使用して、Java Jetty Web サーバーにデプロイしようとしています。しかし、プロジェクトのルート フォルダーで warble を実行すると、次のエラー メッセージが表示されて失敗します。

$ 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、warbler 1.3.2、および ChiliProject 2.2.0 を使用しています。

4

1 に答える 1

0

最初は、JRubyをまだ完全にサポートしていないので、残念ながらあなたを失望させなければなりません。一方、修正すべきエンコーディングの問題はおそらく「唯一」残っているので、注意すれば問題なく動作するはずです。

そうは言っても、Rails2.3はここのBundlerではあまりうまく機能しないようです。次のファイルをlib/redmine/core_ext/vendor_gem_source_index.rbChiliProjectディレクトリにドロップすると、warblerを実行できるはずです。

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

正しいバンドラーグループを使用するようにwarblerを構成する必要があります。ここではwarblerが独自のことをしているので(そして、バンドルされたアプリでwarblerをまだ使用していないので)、これを構成する方法を見つける必要があるかもしれません。詳細については、GemfileBundlerページをご覧ください。

そして、あなたが十分にしつこいなら、私たちはいつかこれを公式にサポートするかもしれません:)また、より友好的な人々は私たち自身のフォーラムIRCで見つけることができます。

于 2011-09-10T12:18:20.823 に答える