2011-10-09 68 views
3

我下面這個指南ATM安裝SQLITE3 - http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding對Ruby(的Mac OSX 10.5.8)

當試圖創建一個數據庫,我得到:

摩根的計算機:博客摩根$耙分貝:創建 在您的Gemfile中列出的任何gem源中找不到gem'sqlite3(> = 0)'。 運行bundle install安裝缺失的寶石。

當我嘗試運行「安裝捆綁」,我得到更多的錯誤:

安裝帶有原生擴展的sqlite3(1.3.4)/Users/Morgan/.rvm/rubies/ruby-1.9.2-p290 /lib/ruby/site_ruby/1.9.1/rubygems/installer.rb:551:in`build in block in build_extensions':錯誤:無法構建gem本機擴展。 (寶石::安裝:: ExtensionBuildError)

/Users/Morgan/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb 

我試圖安裝紅寶石寶石SQLITE3(http://rubygems.org/gems/sqlite3-ruby),但它仍然失敗。我在這裏發現另一篇文章,說我需要安裝C,因爲這是編譯器編寫的內容。我不確定這到底是什麼意思,或者我怎麼去做。

任何幫助將不勝感激!

回答

0

在Mac上,您可能需要安裝Xcode。您還可能需要其他一些sqlite3包,您應該能夠通過MacPorts(端口號:sqlite3 + rb19-sqlite3)。

如果您已安裝Xcode,請轉至MacPorts Install page,下載並安裝所提供的.dmg。然後,你應該能夠從控制檯運行此安裝必要的程序包:

sudo port install sqlite3 rb19-sqlite3 

您還可以使用Homebrew,如其他人所說。

+0

是的,我安裝了Xcode。我如何安裝其他軟件包? –

1

當您安裝sqlite適配器gem時,它必須編譯代碼。爲了編譯代碼,它需要訪問sqlite開發庫。

這個Rails on Mac OS X tutorial解釋瞭如何做到這一點。這裏是最直接相關的部分:

sudo chown -R `whoami` /usr/local #make sure we have correct permissions to install sqlite 
    brew install sqlite 
    gem install sqlite3 
+0

我已經安裝了自制軟件。是的,我已經看到了ubntu的帖子,但這似乎不適用於mac? –

+0

當然,這不適用於OSX,它不使用apt作爲包管理器。 – ryantm

+0

是啊,一旦我釀造安裝sqlite,我從它那裏得到它。再次感謝您的幫助,我留下的頭髮將留在我的頭上...... –

4

如果你不已經安裝homebrew,我會設置了第一。這是一個很好的包管理器,可以讓你像brew install sqlite一樣安裝sqlite等東西。

要安裝brew,您需要安裝xcode。如果你還沒有,你可能需要隨系統附帶的光盤,或者你可以從apple's website下載。在最新的操作系統上,你可以從App Store安裝它,這很好(這也可能適用於你)。

如果你有mysql並且寧願使用它並且避開sqlite問題,你可以生成你的rails項目。

rails new my_new_project -d mysql 
+0

omg ...我一直在尋找這個答案几個小時。謝謝!將測試出來,讓你知道(我已經安裝了自制軟件)....更新:工作!謝謝 –