2013-05-14 1 views
0

Я пытаюсь получить приложение 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). Любые идеи, что может быть причиной этого?

+0

Вы попробовали 'bundle exec jruby script/rails console' – sren

+0

@Simon Хорошая идея; Я не думал об этом, но, к сожалению, это имеет тот же эффект. –

ответ

0

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