ОШИБКА: не удалось создать собственное расширение gem при установке. Установка sqlite3 (1.3.3) - PullRequest
0 голосов
/ 25 июня 2011

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

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

~/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 sqlite3-ruby - --with-sqlite3-dir = / usr / local / lib, но это тоже не сработало. ПОМОГИТЕ! Спасибо!

1 Ответ

1 голос
/ 25 июня 2011

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

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

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

...