【问题标题】:Snow Leopard sqlite3-ruby installation issue雪豹 sqlite3-ruby 安装问题
【发布时间】: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


【解决方案1】:

在没有安装 sqlite3 gem 的情况下,我遇到了几乎相同的错误。使用 macports(以及依赖项)卸载 sqlite3。卸载后,sqlite3-ruby install 工作正常。

【讨论】:

    【解决方案2】:

    卸载 sqlite3 gem,然后重试——我似乎记得 sqlite3 和 sqlite3-ruby 不兼容。否则,请将结果文件附加到您的问题中,以便我们可以查看编译发生时出了什么问题。

    【讨论】:

    • JZ,你有机会看看这个吗?
    • 为了解决这个问题,我卸载了 sqlite3 gem,并安装了 sqlite3-ruby gem
    【解决方案3】:

    您需要安装 Xcode。您可以在developer.apple.com免费下载。

    【讨论】:

    • 重新安装了 xcode,这不是问题 :( 会很容易解决
    猜你喜欢
    • 2010-12-29
    • 2010-11-25
    • 2011-05-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    相关资源
    最近更新 更多