运行脚本/控制台时,Bundler无法找到torquebox-web gem

时间:2013-05-14 23:13:33

标签: ruby-on-rails bundler torquebox

我试图在Linux(Redhat)服务器上使用Bundler / Torquebox的Rails 2.3应用程序。该应用程序通过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 个答案:

答案 0 :(得分:0)

jruby script/console显然需要PATH中的JRuby才能正常工作。如果没有添加到PATH,那么该命令将获取系统Ruby(或PATH中可能包含的任何其他内容)。

为了解决这个问题,我能够运行以下命令:

export PATH=$JRUBY_HOME/bin:$PATH
jruby script/console

正如西蒙指出的那样,在bundle exec电话会议之前使用jruby也是一个好主意:

bundle exec jruby script/console

如果您不想每次都运行export命令,请在您设置所有其他环境变量的位置添加该环境变量。