在rails的最新版本中,我的应用程序有以下几行代码:
gem 'linguistics' # in Gemfile
Linguistics::use(:en, :installProxy => :en) # In environment.rb最近,我从Ruby 1.8.7升级到Ruby 1.9.2,并使用Rails的edge版本。当我启动服务器时,我现在看到以下内容:
=> Booting WEBrick
=> Rails 3.1.0.beta1 application starting in development on
http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server Exiting /Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/linguistics-1.0.8/lib/linguistics.rb:177:in
`en': can't modify frozen object
(RuntimeError) from (eval):6:in
`method_missing' from
/Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.0.beta1/lib/rails/commands/server.rb:78:in
`middleware' from
/Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.3.0.beta/lib/rack/server.rb:291:in
`build_app' from
/Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.3.0.beta/lib/rack/server.rb:301:in
`wrapped_app' from
/Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.3.0.beta/lib/rack/server.rb:252:in
`start' from
/Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.0.beta1/lib/rails/commands/server.rb:69:in
`start' from
/Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.0.beta1/lib/rails/commands.rb:53:in
`block in <top (required)>' from
/Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.0.beta1/lib/rails/commands.rb:48:in
`tap' from
/Users/alextan/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.1.0.beta1/lib/rails/commands.rb:48:in
`<top (required)>' from
script/rails:6:in `require' from
script/rails:6:in `<main>'你知道我该怎么解决这个问题吗?这是语言学和Ruby 1.9.2之间的不兼容吗?
发布于 2011-05-18 15:46:52
我认为这主要是rails的兼容性问题,因为在commits 1.9.2 compat中提到了,一个接一个地尝试,而不是两个一起尝试,以确保1.9.2和rails 3工作,然后切换到edge rails。
你可能想试一下,如果有一个实际的版本,试一下(将这个版本包含在你的gemfile中):
gem update linguistics --pre或者确保在您的gemfile中更新它。
gem 'linguistics', :git => 'https://github.com/ged/linguistics.git'https://stackoverflow.com/questions/6005028
复制相似问题