2
sudo env ARCHFLAGS="-arch x86_64" gem install do_sqlite3 
Building native extensions.  This could take a while...
ERROR:  Error installing do_sqlite3:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
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.

我已经安装了 sqlite3-ruby 以及头文件,但是由于某种原因它在检查 sqlite3_open() 时失败了

4

2 回答 2

1

好的,第一个问题是你为什么要通过 ARCHFLAGS?这不应该是必要的,如果不通过它们也不起作用,那么你得到的输出是什么?

下一个问题是它选择了哪个版本的 sqlite3?例如,您是否通过 Macports 安装了 sqlite3?您最近是否升级到 Snow Leopard 并且仍然安装了升级前的 sqlite3?

于 2009-12-25T22:45:35.453 回答
1

我有相同的问题:

sudo env ARCHFLAGS="-arch x86_64" gem install do_sqlite3
Building native extensions.  This could take a while...
ERROR:  Error installing do_sqlite3:
ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h

Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/do_sqlite3-0.10.1.1 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/do_sqlite3-0.10.1.1/ext/do_sqlite3/gem_make.out

我正在运行雪豹。我不确定以前安装的 sqlite3,但我确实尝试过:

port search sqlite

它返回以下(除其他外):

...
sqlite3 @3.6.17 (databases)
an embedded SQL database engine

老实说,我不确定这一切意味着什么。有人建议安装 do_sqlite3 以在带有 DataMapper 的 Rails 3 中使用吗?(此外,在没有 'env ARCHFLAGS="-arch x86_64"' 的情况下运行它会产生相同的错误。)

于 2010-02-13T23:03:02.290 回答