【发布时间】:2011-01-27 23:12:19
【问题描述】:
我正在运行 Mac OSX Snow Leopard,这个问题是由最近的 train wreck 引起的,我在其中更新了没有 RVM 的 ruby。我已尝试正确安装/运行 RVM,但无法正常工作。
我无法安装 sqlite3-ruby gem。我收到以下错误:安装 sqlite3-ruby 时出错: 错误:无法构建 gem 原生扩展。
我该如何解决这个问题?
$ which ruby
/usr/local/bin/ruby
$ whereis ruby
/usr/bin/ruby
$ which rails
/usr/local/bin/rails
$ whereis rails
/usr/bin/rails
$ which gem
/usr/local/bin/gem
$ whereis gem
/usr/bin/gem
$ ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin10.2.0]
$ rails -v
Rails 2.3.5
$ gem list
*** LOCAL GEMS ***
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
builder (2.1.2)
bundler (0.9.11)
columnize (0.3.1)
erubis (2.6.5)
fastercsv (1.5.1)
ffi (0.6.3)
gbarcode (0.98.16)
i18n (0.3.5)
linecache (0.43)
mail (2.1.3)
memcache-client (1.8.0)
prawn (0.8.4)
prawn-core (0.8.4)
prawn-layout (0.8.4)
prawn-security (0.8.4)
rack (1.1.0, 1.0.1)
rack-mount (0.6.1)
rack-test (0.5.3)
rails (2.3.5)
rake (0.8.7)
ruby-debug (0.10.3)
ruby-debug-base (0.10.3)
rubygems-update (1.3.6)
sqlite3 (0.0.8)
text-format (1.0.0)
thor (0.13.4)
tzinfo (0.3.17)
$ sudo gem install sqlite3-ruby
Password:
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for fdatasync() in -lrt... no
checking for sqlite3.h... yes
checking for sqlite3_open() in -lsqlite3... no
*** 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=/usr/local/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
--with-rtlib
--without-rtlib
--with-sqlite3lib
--without-sqlite3lib
Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.5 for inspection.
Results logged to /usr/local/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.5/ext/sqlite3_api/gem_make.out
个人资料:
export MANPATH=/opt/local/share/man:$MANPATH
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
if [[ -s /Users/justinz/.rvm/scripts/rvm ]] ; then source /Users/justinz/.rvm/scripts/rvm ; fi
【问题讨论】:
-
他还在 1.8 上,那个链接可能不会有什么不同。我确信这与尚未安装的开发者工具有关。
-
justin-zollarss-mac-pro:~ justinz$ sudo ln -s /Developer/SDKs/MacOSX10.6.sdk/usr/lib/libsqlite3.0.dylib /usr/local/lib/ libsqlite3.dylib 密码:ln: /usr/local/lib/libsqlite3.dylib: 文件存在
-
为了解决这个问题,我卸载了 sqlite3 gem,并安装了 sqlite3-ruby gem
标签: ruby-on-rails sqlite osx-snow-leopard