0

我正在尝试使用 Ruby on Rails 3 构建 SOAP 服务。经过大量研究后,我发现Wash_out.

现在,当我将 gem 添加到我的 gemfile 时,如下所示:

gem 'wash_out'

我的 rails 应用程序不再启动,我的意思是,当我输入“rails s”时,它给了我一个关于wash_out 的错误。

/usr/lib/ruby/gems/1.8/gems/wash_out-0.6.1/lib/wash_out.rb:3:in `require':     /usr/lib/ruby/gems/1.8/gems/wash_out-0.6.1/lib/wash_out/dispatcher.rb:19: syntax error, unexpected '\n' (SyntaxError)
from /usr/lib/ruby/gems/1.8/gems/wash_out-0.6.1/lib/wash_out.rb:3
from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `require'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in `require'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `each'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in `require'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `each'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in `require'
from /usr/lib/ruby/gems/1.8/gems/bundler-1.3.4/lib/bundler.rb:132:in `require'
from /home/TheBcd/Escritorio/ws/config/application.rb:7
from /usr/lib/ruby/gems/1.8/gems/railties-3.2.13/lib/rails/commands.rb:53:in `require'
from /usr/lib/ruby/gems/1.8/gems/railties-3.2.13/lib/rails/commands.rb:53
from /usr/lib/ruby/gems/1.8/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'
from /usr/lib/ruby/gems/1.8/gems/railties-3.2.13/lib/rails/commands.rb:50
from script/rails:6:in `require'
from script/rails:6

我会很感激任何帮助,非常感谢。

4

2 回答 2

1

wash_out 需要 Ruby 1.9。您的回溯显示 Ruby 1.8。

于 2013-04-03T19:24:56.747 回答
1

从您的跟踪日志中,我假设您使用的是 ruby​​ 1.8,并且对 gem 的 github 的简短阅读显示了这一点:

仅 Rails >3.0。MRI 1.9、2.0、JRuby (--1.9)。

自 0.5.3 起,Ruby 1.8 不再受到官方支持。我们将接受进一步的兼容性拉取请求,但不会针对它测试即将发布的版本。

因此,如果您想使用支持 1.8 的 gem,最好将版本锁定到0.5.3. 尝试将 Gemfile 中的 gem 版本设置为该版本下的内容,它可能会起作用,但就像他们说的那样,不能保证。

于 2013-04-03T19:28:11.883 回答