При запуске скрипта / консоли Bundler не может найти гем с крутящим моментом в сети
Я пытаюсь заставить приложение Rails 2.3 работать с Bundler/Torquebox на сервере Linux (Redhat). Приложение работает корректно через JBoss, но не позволяет запустить консоль. Я получаю следующую ошибку при запуске jruby script/console
:
Bundler could not find compatible versions for gem "torquebox-web":
In snapshot (Gemfile.lock):
torquebox-web (2.3.1)
In Gemfile:
torquebox (= 2.3.1) ruby depends on
torquebox-web (= 2.3.1) ruby
Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.
Когда я бегу jruby -S bundle update
он говорит мне, что использует все правильные версии гемов, но консоль все равно не будет работать.
Я использую Rails 2.3.18, Torquebox 2.3.1 и Bundler 1.3.5. Также стоит отметить, что это работает правильно на моей машине для разработки Windows и в любых приложениях Rails 3.2 (используя jruby script/rails console
). Есть идеи, что может быть причиной этого?
1 ответ
jruby script/console
по-видимому, нуждается в JRuby в PATH
работать правильно. Если это не добавлено к PATH
, эта команда подхватит систему Ruby (или что-то еще может быть в PATH
).
Чтобы это исправить, я смог запустить следующие команды:
export PATH=$JRUBY_HOME/bin:$PATH
jruby script/console
Как указал Саймон, используя bundle exec
перед jruby
звонок тоже хорошая идея:
bundle exec jruby script/console
Если вы не хотите запускать export
каждый раз добавляйте эту переменную окружения, где вы устанавливаете все остальные переменные окружения.