NoMethodError: неопределенный метод `to_a 'в адаптере SQlite для Mac OS X Leopard - PullRequest
0 голосов
/ 13 декабря 2011

Я работаю вместе с дизайнером для проекта Rails, поэтому нам пришлось настроить его компьютер Mac со стеком Rails для разработки.В настоящее время у меня есть OS X Lion Mac, и я установил Rails без каких-либо проблем (со стандартным RVM, Homebrew, git, Ruby 1.9.2 и набором гемов).Когда я пытаюсь выполнить ту же процедуру на его машине Leopard (10.5.8), результат не такой безупречный.

Когда я пытаюсь запустить команду сервера rails, после установки Rails 3.1 и sqlite-rubygem, я получаю следующий вывод:

    => Booting WEBrick
=> Rails 3.1.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:229:in `block in exec_query': NoMethodError: undefined method `to_a' for #<SQLite3::Statement:0x57f4658>:           SELECT name (ActiveRecord::StatementInvalid)
          FROM sqlite_master
          WHERE type = 'table' AND NOT name = 'sqlite_sequence'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:244:in `block in log'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract_adapter.rb:239:in `log'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:223:in `exec_query'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/connection_adapters/sqlite_adapter.rb:315:in `tables'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/schema_statements.rb:25:in `table_exists?'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/attribute_methods/primary_key.rb:41:in `get_primary_key'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/attribute_methods/primary_key.rb:25:in `reset_primary_key'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.1/lib/active_record/attribute_methods/primary_key.rb:16:in `primary_key'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/resource.rb:151:in `default_options'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/resource.rb:59:in `initialize'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/resource/action_items.rb:11:in `initialize'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/resource/sidebars.rb:9:in `initialize'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/namespace.rb:118:in `new'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/namespace.rb:118:in `find_or_build_resource'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/namespace.rb:46:in `register'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/comments.rb:23:in `block in <top (required)>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/event.rb:23:in `call'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/event.rb:23:in `block in dispatch'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/event.rb:22:in `each'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/event.rb:22:in `dispatch'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/application.rb:95:in `find_or_create_namespace'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/application.rb:86:in `register'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin.rb:60:in `register'
    from /Users/developer/proyectos/lacorona/app/admin/events.rb:1:in `<top (required)>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `block in load'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `block in load_dependency'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:in `block in load!'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:in `each'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/application.rb:132:in `load!'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/application.rb:155:in `routes'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin.rb:63:in `routes'
    from /Users/developer/proyectos/lacorona/config/routes.rb:6:in `block in <top (required)>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action_dispatch/routing/route_set.rb:258:in `instance_exec'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action_dispatch/routing/route_set.rb:258:in `eval_block'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action_dispatch/routing/route_set.rb:235:in `draw'
    from /Users/developer/proyectos/lacorona/config/routes.rb:1:in `<top (required)>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `block in load'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `block in load_dependency'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:234:in `load'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `block in load_paths'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `each'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:29:in `load_paths'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application/routes_reloader.rb:13:in `reload!'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application.rb:87:in `reload_routes!'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/reloader.rb:34:in `reload!'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/reloader.rb:28:in `block in initialize'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/file_update_checker.rb:32:in `call'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/file_update_checker.rb:32:in `execute_if_updated'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.3.4/lib/active_admin/reloader.rb:45:in `block in attach!'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:404:in `_run_prepare_callbacks'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.1.1/lib/action_dispatch/middleware/reloader.rb:46:in `prepare!'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application/finisher.rb:41:in `block in <module:Finisher>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/initializable.rb:30:in `instance_exec'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/initializable.rb:30:in `run'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/initializable.rb:54:in `each'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/initializable.rb:54:in `run_initializers'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application.rb:96:in `initialize!'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/railtie/configurable.rb:30:in `method_missing'
    from /Users/developer/proyectos/lacorona/config/environment.rb:5:in `<top (required)>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `block in load_dependency'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /Users/developer/proyectos/lacorona/config.ru:4:in `block in <main>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.5/lib/rack/builder.rb:51:in `instance_eval'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.5/lib/rack/builder.rb:51:in `initialize'
    from /Users/developer/proyectos/lacorona/config.ru:1:in `new'
    from /Users/developer/proyectos/lacorona/config.ru:1:in `<main>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.5/lib/rack/builder.rb:40:in `eval'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.5/lib/rack/builder.rb:40:in `parse_file'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.5/lib/rack/server.rb:200:in `app'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/server.rb:46:in `app'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.5/lib/rack/server.rb:301:in `wrapped_app'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/rack-1.3.5/lib/rack/server.rb:252:in `start'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands/server.rb:70:in `start'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:54:in `block in <top (required)>'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:49:in `tap'
    from /Users/developer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/commands.rb:49:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

edit Running rake db:migrate возвращает ту же ошибку:

NoMethodError: undefined method `to_a' for #<SQLite3::Statement:0x11a0e4>:           SELECT name
          FROM sqlite_master
          WHERE type = 'table' AND NOT name = 'sqlite_sequence'

Кто-нибудь сталкивался с подобнымвопрос

Ответы [ 2 ]

2 голосов
/ 13 декабря 2011

У меня была эта проблема ...

Я думаю, это был неправильный камень.

Попробуйте, если еще не сделали:

gem 'sqlite3-ruby', '>= 1.3.1', :require => 'sqlite3'

затем $ bundle install

0 голосов
/ 25 апреля 2012

Что ж, мы наконец-то перешли на MySQL, чтобы избежать этой проблемы.

...