рельсы генерируют rspec: install - нет такого файла для загрузки - sqlite3 / sqlite3_native (LoadError) - PullRequest
0 голосов
/ 26 марта 2012

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

$ rails generate rspec:install

, я получаю следующую ошибку:

/usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.5/lib/sqlite3.rb:6:in `require': no such file to load -- sqlite3/sqlite3_native (LoadError)
    from /usr/lib/ruby/gems/1.8/gems/sqlite3-1.3.5/lib/sqlite3.rb:6
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:68:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:68:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:66:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:66:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:55:in `require'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.1.3/lib/bundler.rb:119:in `require'
    from /home/rcooke/sample_app/config/application.rb:13
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/commands.rb:24:in `require'
    from /usr/lib/ruby/gems/1.8/gems/railties-3.2.2/lib/rails/commands.rb:24
    from script/rails:6:in `require'
    from script/rails:6

После других обсуждений этой же проблемы я изменил свой Gemfile, чтобы он содержал следующее:

group :development, :test do 
  gem 'sqlite3-ruby', :require => 'sqlite3'
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails'
  gem 'rspec'
end 

Я добавил rspec и rspec-rails в Gemfile, заметив, что они оба установлены:

Using rspec-core (2.9.0)
Using rspec-expectations (2.9.0)
Using rspec-mocks (2.9.0)
Using rspec (2.9.0)
Using rspec-rails (2.9.0)

Я даже выполнил:

$ gem install rspec

Возможно, я не использую правильную процедуру для обновления.После того, как я сохранил Gemfile на своем компьютере, я использую пакетное обновление и пакетную установку .При попытке rails генерировать rspec: установка все еще не удается.

Обновление: при попытке запустить ресурс я получаю следующую ошибку:

$ rake spec
rake aborted!
no such file to load -- sqlite3/sqlite3_native

Обновление: у меня естьочевидно что-то напортачил.Теперь, если я пытаюсь запустить новое приложение, я получаю следующую ошибку.

$ rails new sample_app2 --skip-test-unit
/usr/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find json (~> 1.4) amongst [actionmailer-3.2.2, actionpack-3.2.2, activemodel-3.2.2, activerecord-3.2.2, activeresource-3.2.2, activesupport-3.2.2, addressable-2.2.7, arel-3.0.2, builder-3.0.0, bundler-1.1.3, bundler-1.1.2, coffee-rails-3.2.2, coffee-script-2.2.0, coffee-script-source-1.2.0, diff-lcs-1.1.3, erubis-2.7.0, execjs-1.3.0, heroku-2.22.0, heroku-2.21.3, hike-1.2.1, i18n-0.6.0, journey-1.0.3, jquery-rails-2.0.1, json_pure-1.6.6, launchy-2.1.0, mail-2.4.4, mime-types-1.18, multi_json-1.2.0, multi_json-1.1.0, netrc-0.7.1, polyglot-0.3.3, rack-1.4.1, rack-cache-1.2, rack-ssl-1.3.2, rack-test-0.6.1, rails-3.2.2, railties-3.2.2, rake-0.9.2.2, rdoc-3.12, rest-client-1.6.7, rspec-2.9.0, rspec-core-2.9.0, rspec-expectations-2.9.0, rspec-mocks-2.9.0, rspec-rails-2.9.0, rubyzip-0.9.6.1, sass-3.1.15, sass-rails-3.2.5, sprockets-2.3.1, sprockets-2.1.2, sqlite3-1.3.5, sqlite3-ruby-1.3.3, thor-0.14.6, tilt-1.3.3, treetop-1.4.10, tzinfo-0.3.32, uglifier-1.2.3] (Gem::LoadError)
    from /usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:772:in `activate_dependencies'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:761:in `each'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:761:in `activate_dependencies'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:745:in `activate'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:775:in `activate_dependencies'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:761:in `each'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:761:in `activate_dependencies'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/specification.rb:745:in `activate'
    from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:1211:in `gem'
    from /usr/bin/rails:18

1 Ответ

0 голосов
/ 27 марта 2012

В вашей системе установлена ​​библиотека SQlite3? Когда вы смотрите в / usr / lib / на libsqlite3.so (если вы работаете в Linux), вы это видите? если нет, то можете ли вы попытаться установить его (через apt-get / portage / ваш менеджер пакетов) и посмотреть, поможет ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...