#ruby-on-rails #deployment #jruby
#ruby-on-rails #развертывание #jruby
Вопрос:
Ошибка загрузки: нет такого файла для загрузки — bundler / setup
Попытка развернуть приложение rails как .war
Я могу запустить его через командную строку от имени моего пользователя deploy, но запуск сервера приложений от имени 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/
Комментарии:
1. ты
bundle install
эд, верно?2. да. но bundler не упаковывается в . файл войны за то, что он стоит (я не думаю, что он должен в любом случае). опять же, я могу запустить его как обычный пользователь, но не как root при запуске.
Ответ №1:
В итоге это стало проблемой с Warbler, в частности, Warbler делает некоторые предположения о том, какую версию Rubygems вы используете.
Если вы используете последнюю стабильную версию Warbler (1.3.2), используйте JRuby 1.6.4. Если вы используете JRuby 1.6.5, используйте последнюю версию Warbler с github.
Ответ №2:
У меня была аналогичная проблема с созданием файла war для Tomcat, сообщение об jruby -S warble
ошибке было:
warning: skipping bundler (d:/builders3/jruby-1.5.6/lib/ruby/gems/1.8/gems/gems/bundler-1.0.15 does not exist
(Кстати, эта часть «gems / gems» является поддельной; не уверен, как он построил этот путь.)
Файл war (по-видимому) был собран, но при попытке развертывания в Tomcat он выдает серьезную ошибку : can't find bundler/setup
.
Моя среда: JRuby 1.5.6, Ruby 1.8.7, Rails 3.0.15. gem — v #=> 1.3.6.
Наконец-то я получил это для правильной сборки файла war и развертывания — ключевым изменением было установить warbler на 1.3.2 в Gemfile и запустить «bundle exec warble».