部署Jruby:找不到捆绑包

时间:2011-10-25 23:49:32

标签: ruby-on-rails deployment jruby

LoadError:没有要加载的文件 - bundler / setup

尝试将rails应用程序部署为.war

我可以通过命令行运行它作为我的部署用户,但是当机器启动时以root身份启动应用服务器会导致错误。

我已将我的GEM_HOME设置在/ etc / environment中,但它没有帮助。

RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.9
  - RUBY VERSION: 1.9.2 (2011-10-17 patchlevel 136) [java]
  - INSTALLATION DIRECTORY: /usr/local/rbenv/versions/jruby-1_6-latest/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/rbenv/versions/jruby-1_6-latest/bin/jruby
  - EXECUTABLE DIRECTORY: /usr/local/rbenv/versions/jruby-1_6-latest/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-java-1.6
  - GEM PATHS:
     - /usr/local/rbenv/versions/jruby-1_6-latest/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "install" => "--no-rdoc --no-ri --env-shebang"
     - "update" => "--no-rdoc --no-ri --env-shebang"
  - REMOTE SOURCES:
     - http://rubygems.org/

2 个答案:

答案 0 :(得分:1)

这最终成为了Warbler的一个问题,特别是Warbler对你正在使用的Rubygems版本做了一些假设。

如果您使用的是最新稳定的Warbler(1.3.2),请使用JRuby 1.6.4。如果您使用的是JRuby 1.6.5,请使用github上的最新Warbler。

答案 1 :(得分:1)

我有类似的问题通过jruby -S warble为Tomcat构建war文件 - 错误消息是:

warning: skipping bundler (d:/builders3/jruby-1.5.6/lib/ruby/gems/1.8/gems/gems/bundler-1.0.15 does not exist

(那个“宝石/宝石”部分,顺便说一下,是假的;不确定它是如何构建那条路的。)

war文件(显然)已经构建,但在尝试部署到Tomcat时会出现严重错误: can't find bundler/setup

我的环境:JRuby 1.5.6,Ruby 1.8.7,Rails 3.0.15。宝石 - v#=> 1.3.6。

我最终得到了正确构建war文件并进行部署 - 关键更改是在Gemfile中将warbler设置为1.3.2,然后运行“bundle exec warble”。