Как исправить ошибку в библиотеке лингвистики в Rails 3.1 и Ruby 1.9.2

В моем приложении в последних версиях рельсов без проблем были следующие строки:

gem 'linguistics' # in Gemfile

Linguistics::use(:en, :installProxy => :en) # In environment.rb

Недавно я обновился с Ruby 1.8.7 до Ruby 1.9.2 и использую крайнюю версию Rails. Когда я запускаю сервер, я вижу следующее:

=> 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?


person tanman    schedule 14.05.2011    source источник


Ответы (1)


Я думаю, что это в основном проблема совместимости с рельсами, потому что в коммитах упоминается совместимость 1.9.2, попробуйте за другим, а не вместе, чтобы убедиться, что 1.9.2 и рельсы 3 работают, после этого переключитесь на крайние рельсы.

Вы можете попробовать, если есть актуальная версия, попробуйте (включите эту версию в свой gemfile):

gem update linguistics --pre

ИЛИ обязательно обновите его в своем gemfile

gem 'linguistics', :git => 'https://github.com/ged/linguistics.git'
person radosch    schedule 18.05.2011