ОШИБКА: не удалось создать собственное расширение gem при установке Установка sqlite3 (1.3.3)

Я пытаюсь запустить свой первый проект рельсов. Я на Mac OS X 10.6.7, у меня установлен Xcode4, ruby ​​1.9.2, rails 3.0.1

Когда я набираю установку пакета, я получаю эту ошибку:

~/rails_project/first_app$ bundle install
Fetching source index for http://rubygems.org/
Using rake (0.9.2)
Using abstract (1.0.0)
Using activesupport (3.0.1)
Using builder (2.1.2)
Using i18n (0.4.2)
Using activemodel (3.0.1)
Using erubis (2.6.6)
Using rack (1.2.3)
Using rack-mount (0.6.14)
Using rack-test (0.5.7)
Using tzinfo (0.3.28)
Using actionpack (3.0.1)
Using mime-types (1.16)
Using polyglot (0.3.1)
Using treetop (1.4.9)
Using mail (2.2.19)
Using actionmailer (3.0.1)
Using arel (1.0.1)
Using activerecord (3.0.1)
Using activeresource (3.0.1)
Using bundler (1.0.14)
Using thor (0.14.6)
Using railties (3.0.1)
Using rails (3.0.1)
Installing sqlite3 (1.3.3) with native extensions /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:533:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

       /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/bin/ruby extconf.rb
checking for sqlite3.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
       --with-opt-dir
       --without-opt-dir
       --with-opt-include
       --without-opt-include=${opt-dir}/include
       --with-opt-lib
       --without-opt-lib=${opt-dir}/lib
       --with-make-prog
       --without-make-prog
       --srcdir=.
       --curdir
       --ruby=/Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
       --with-sqlite3-dir
       --without-sqlite3-dir
       --with-sqlite3-include
       --without-sqlite3-include=${sqlite3-dir}/include
       --with-sqlite3-lib
       --without-sqlite3-lib=${sqlite3-dir}/lib
/Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:853:in `block in find_header'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:254:in `open'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:254:in `open'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/mkmf.rb:852:in `find_header'
       from extconf.rb:28:in `<main>'


Gem files will remain installed in /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/sqlite3-1.3.3 for inspection.
Results logged to /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:511:in `block in build_extensions'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:486:in `each'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:486:in `build_extensions'
       from /Users/tiffany/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:159:in `install'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/source.rb:101:in `block in install'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/rubygems_integration.rb:78:in `preserve_paths'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/source.rb:91:in `install'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/installer.rb:58:in `block (2 levels) in run'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/rubygems_integration.rb:93:in `with_build_args'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/installer.rb:57:in `block in run'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/spec_set.rb:12:in `block in each'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/spec_set.rb:12:in `each'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/spec_set.rb:12:in `each'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/installer.rb:49:in `run'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/installer.rb:8:in `install'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/cli.rb:222:in `install'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/vendor/thor/task.rb:22:in `run'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/vendor/thor.rb:246:in `dispatch'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/lib/bundler/vendor/thor/base.rb:389:in `start'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/bundler-1.0.14/bin/bundle:13:in `<top (required)>'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/bin/bundle:19:in `load'
       from /Users/tiffany/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/bin/bundle:19:in `<main>'
~/rails_project/first_app$

Вся информация, которую я нашел для этой ошибки в Интернете, относится к машинам Windows или Linux. В одном из своих поисков в Google я где-то увидел, что это может быть проблема со связью, что попытка проверить инструменты разработки не удалась. Может ли кто-нибудь помочь с этим вопросом? Я также попытался установить gem install sqlite3-ruby - --with-sqlite3-dir = / usr / local / lib, и это тоже не сработало. ПОМОЩЬ! Спасибо!


person Tiffany    schedule 25.06.2011    source источник


Ответы (1)


Вам необходимо установить sqlite3, гему нужны файлы заголовков sqlite для связи. См. этот пост.

Вы можете установить его с помощью macports: sudo port install sqlite3.

Или, если вы используете варево, попробуйте brew install sqlite.

person ipd    schedule 25.06.2011
comment
Для Debian / Ubuntu см. stackoverflow.com/ вопросы / 3458602 / - person user456584; 19.07.2013