2012-10-27 31 views
4

我想我已经发现了扭矩箱中的一个错误。出于某种原因,如果我“gem install torquebox”然后添加一个“gem'torquebox'”行到我的Gemfile,“torquebox env”停止正常工作。这是很容易复制,因此,如果有人知道发生了什么事,请让我知道:Gemfile导致扭矩盒env变量空了

重现bug,让我们创建一个新的宝石和安装torquebox服务器

$ rvm use jruby-1.6.7.2 
$ rvm gemset create test 
$ mkdir torquetest 
$ cd torquetest 
$ rvm use [email protected] 

让我停下来此刻向您展示在我的[email protected],万一的事项:

$ ls ~/.rvm/gems/[email protected]/gems 
total 0 
drwxr-xr-x 9 jstokes 306 Aug 9 16:26 ./ 
drwxr-xr-x 7 jstokes 238 Aug 9 16:25 ../ 
drwxr-xr-x 5 jstokes 170 Aug 9 16:25 bouncy-castle-java-1.5.0146.1/ 
drwxr-xr-x 15 jstokes 510 Aug 9 16:26 bundler-1.1.5/ 
drwxr-xr-x 34 jstokes 1156 Aug 9 16:25 jruby-launcher-1.0.15-java/ 
drwxr-xr-x 10 jstokes 340 Aug 9 16:25 jruby-openssl-0.7.7/ 
drwxr-xr-x 13 jstokes 442 Aug 9 16:25 rake-0.9.2.2/ 
drwxr-xr-x 14 jstokes 476 Aug 9 16:26 rubygems-bundler-1.0.5/ 
drwxr-xr-x 8 jstokes 272 Aug 9 16:26 rvm-1.11.3.5/ 

无论如何,在继续:

$ gem install torquebox-server 
$ torquebox env 

TORQUEBOX_HOME=/Users/jstokes/.rvm/gems/[email protected]/gems/torquebox-server-2.1.2-java 
JBOSS_HOME=/Users/jstokes/.rvm/gems/[email protected]/gems/torquebox-server-2.1.2-java/jboss 
JRUBY_HOME=/Users/jstokes/.rvm/rubies/jruby-1.6.7.2 

到目前为止好,对吧?现在这里是它南方的地方:

$ echo "gem 'torquebox'" > Gemfile 
$ torquebox env 

TORQUEBOX_HOME= 
JBOSS_HOME=/jboss 
JRUBY_HOME=/Users/jstokes/.rvm/rubies/jruby-1.6.7.2 

现在瓦尔破损,所以我不能使用扭矩箱。如果我从Gemfile中删除了“gem'torquebox'”这行,它会再次正常工作,但是,它会将我的rails部署混淆到torquebox。有任何想法吗?

(PS:这种情况发生在OS X 10.8.2和OS X 10.7.5上,我在最新版本的ZSH中使用了iTerm,而且RVM已经升级到目前为止的最新版本)

更新:“捆绑高管torquebox ENV”也不管用,仅供参考:(

+0

已确认banzaiman对jruby 1.6.7和1.6.7.2的回答 –

回答

9

你只需要在Gemfiletorquebox;你需要使用torquebox-server,而不是(因为torqueboxtorquebox-server依赖)。

$ bundle show 
Gems included by the bundle: 
    * blankslate (2.1.2.4) 
    * bundler (1.2.1) 
    * clj (0.0.5.6) 
    * rake (0.9.2.2) 
    * thor (0.16.0) 
    * torquebox (2.1.2) 
    * torquebox-cache (2.1.2) 
    * torquebox-configure (2.1.2) 
    * torquebox-core (2.1.2) 
    * torquebox-messaging (2.1.2) 
    * torquebox-naming (2.1.2) 
    * torquebox-rake-support (2.1.2) 
    * torquebox-security (2.1.2) 
    * torquebox-server (2.1.2) 
    * torquebox-stomp (2.1.2) 
    * torquebox-transactions (2.1.2) 
    * torquebox-web (2.1.2) 
$ torquebox env 
TORQUEBOX_HOME=/Users/asari/.rvm/gems/[email protected]/gems/torquebox-server-2.1.2-java 
JBOSS_HOME=/Users/asari/.rvm/gems/[email protected]/gems/torquebox-server-2.1.2-java/jboss 
JRUBY_HOME=/Users/asari/.rvm/rubies/jruby-1.6.8 
+0

这显然是正确的答案。我需要给Joe Kutner发电子邮件并告诉他这个错误实际上是在“部署JRuby”:) –

+0

@JonStokes您可能想要提交一个错误:http://pragprog.com/titles/jkdepj/errata – banzaiman