2010-03-16 94 views
0

我正在運行Mac OSX Snow Leopard,這個問題是由最近的train wreck造成的,我在其中更新了沒有RVM的ruby。我試圖正確安裝/運行RVM,但是我無法讓它正常工作。Snow Leopard sqlite3-ruby安裝問題

我無法安裝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 
+0

爲了解決這個問題,我卸載了sqlite3 gem,並安裝了sqlite3-ruby gem – 2010-04-14 22:41:18

+0

試試這個:http://stackoverflow.com/questions/1373108/snow-leopard-sqlite3-ruby – devth 2010-03-16 04:18:47

+0

他還在1.8上,該鏈接可能不會有所作爲。我確信這是與尚未安裝的開發人員工具有關。 – Garrett 2010-03-16 04:21:49

回答

1

卸載sqlite3寶石,然後再試一次 - 我似乎記得,sqlite3和sqlite3-ruby不兼容。否則,將結果文件附加到您的問題,以便我們可以看到編譯發生時出了什麼問題。

+0

JZ,你有機會檢查一下嗎? – corprew 2010-03-24 21:29:06

+0

爲了糾正這個問題我卸載了sqlite3 gem,並安裝了sqlite3-ruby gem – 2010-04-14 22:41:51

+0

卸載後重新安裝工程:) – 2012-08-20 10:50:58

0

你需要安裝的Xcode。您可以免費下載developer.apple.com

+0

重新安裝xcode,那不是問題:(本來是一個簡單的修復程序 – 2010-03-16 05:00:42

0

我有幾乎相同的錯誤,沒有安裝sqlite3 gem。用macports卸載sqlite3(以及依賴關係)。卸載後,sqlite3-ruby安裝正常工作。