При запуске скрипта / консоли 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 каждый раз добавляйте эту переменную окружения, где вы устанавливаете все остальные переменные окружения.

Другие вопросы по тегам