我试图在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
)上都能正常工作。可能导致这种情况的任何想法?
答案 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
命令,请在您设置所有其他环境变量的位置添加该环境变量。