黄瓜+ Akephalos“UNIXServer是必需的”

时间:2011-04-04 11:09:12

标签: javascript cucumber automated-tests rvm akephalos

我用黄瓜设置了一个rails 2.3项目,它工作正常。现在我想运行javascript测试,并使用Akephalos进行设置。现在有趣的事情。测试在我的同事机器上运行得很好。

我们正在使用RVM + ruby​​ 1.8.7 + gemsets + bundler。宝石都已安装,但每当我在我的机器上启动特定功能时,如下所示:

bundle exec cucumber featues/myfeature.feature

它说:

LoadError: UNIXServer is required
(root) at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/unix.rb:5
require at org/jruby/RubyKernel.java:1037
auto_load at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/unix.rb:826
open_server at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/drb.rb:794
initialize at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/drb.rb:1377
start_service at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/drb.rb:1665
start! at /Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/akephalos-0.2.4/lib/akephalos/server.rb:29
(root) at -e:1

我的机器是2011款MacBook Pro i7四核,带有雪豹,自制软件,rvm,ruby,rvm infp说:

ruby-1.8.7-p334@betterplace:

system:
  uname:       "Darwin ChrisBookPro.local 10.7.3 Darwin Kernel Version 10.7.3: Sun Mar  6 13:37:56 PST 2011; root:xnu-1504.14.2~1/RELEASE_X86_64 x86_64"
  bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
  zsh:         "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"

rvm:
  version:      "rvm 1.2.9 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]"

ruby:
  interpreter:  "ruby"
  version:      "1.8.7"
  date:         "2011-02-18"
  platform:     "i686-darwin10.7.3"
  patchlevel:   "2011-02-18 patchlevel 334"
  full_version: "ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.7.3]"

homes:
  gem:          "/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace"
  ruby:         "/Users/christoph/.rvm/rubies/ruby-1.8.7-p334"

binaries:
  ruby:         "/Users/christoph/.rvm/rubies/ruby-1.8.7-p334/bin/ruby"
  irb:          "/Users/christoph/.rvm/rubies/ruby-1.8.7-p334/bin/irb"
  gem:          "/Users/christoph/.rvm/rubies/ruby-1.8.7-p334/bin/gem"
  rake:         "/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/bin/rake"

environment:
  PATH:         "/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/bin:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@global/bin:/Users/christoph/.rvm/rubies/ruby-1.8.7-p334/bin:/Users/christoph/.rvm/bin::/Users/christoph/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/sbin:/opt/local/share/java/jruby/bin:/Developer/SDKs/android-sdk-mac_x86/tools"
  GEM_HOME:     "/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace"
  GEM_PATH:     "/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@global"
  MY_RUBY_HOME: "/Users/christoph/.rvm/rubies/ruby-1.8.7-p334"
  IRBRC:        "/Users/christoph/.rvm/rubies/ruby-1.8.7-p334/.irbrc"
  RUBYOPT:      ""
  gemset:       "betterplace"

打开jruby-jar的包装显示:包含了drb。手动要求工作。但我无法弄清楚,问题是什么。通过进一步的调查,我能够弄清楚,实际的java命令行是什么,应该带来akephalos服务器:

java -Xmx128M -cp /Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-core-1.6.0.jar:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar org.jruby.Main -I vendor:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/akephalos-0.2.4/lib:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/akephalos-0.2.4/src -r akephalos/server -e 'Akephalos::Server.start!("/tmp/akephalos.1586.sock")'

错误保持不变:

LoadError: UNIXServer is required
(root) at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/unix.rb:5
require at org/jruby/RubyKernel.java:1037
auto_load at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/unix.rb:826
open_server at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/drb.rb:794
initialize at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/drb.rb:1377
start_service at file:/Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/jruby-jars-1.6.0/lib/jruby-stdlib-1.6.0.jar!/META-INF/jruby.home/lib/ruby/1.8/drb/drb.rb:1665
start! at /Users/christoph/.rvm/gems/ruby-1.8.7-p334@betterplace/gems/akephalos-0.2.4/lib/akephalos/server.rb:29
(root) at -e:1

非常感谢任何形式的帮助。

干杯,Christoph

0 个答案:

没有答案