2011-10-03 70 views
1

我試圖升級我的Rails 3.0.x應用程序到3.1,但我遇到了一些問題:Heroku(我的應用程序託管在)要求我使用它們雪松堆棧&包括我的gemfile中的「PG」gem。我已經看到,在安裝這個gem時,人們遇到了很多問題,因爲它似乎並不知道在哪裏找到Postgresql安裝。Lion,RVM,Postgresql和PG Gem

我知道我的安裝Postgresql的選項可能是MacPorts,One Click Installer(從他們的網站),Homebrew,還有一些我不知道的東西。

所以我想我的問題是,我應該使用哪些方法來安裝Postgresql(在Lion上)?那麼,如何在沒有抱怨它無法找到我的postgresql安裝的情況下獲得PG Gem來安裝w/RVM?

回答

2

我只是使用homebrew安裝PosgreSQL,然後做了bundle install爲我的項目使用pg寶石。奇蹟般有效。是的,我運行RVM。

+0

你安裝了哪個版本的PostgreSQL? –

+0

我做了'brew install postgresql',它安裝了9.04。 – rdvdijk

1

根據我的經驗,「一鍵式」安裝程序的效果最好,但我認爲Homebrew's也可能很好。 Lion上的「一鍵式」版本是我在pg庫上進行開發和測試時使用的版本。您需要避免通過Macports安裝它,除非您確保它與您的Ruby的OpenSSL擴展所在的OpenSSL版本相鏈接。如果它們與不同版本鏈接,則可能會導致分割。

'pg_config'二進制文件是獲取'pg'gem安裝的關鍵部分。如果它找不到(並且你沒有使用--with-pg-config選項指向它),它會嘗試猜測東西的安裝位置,但這並不總是奏效。此外,與任何與共享庫鏈接的擴展一樣,您需要確保使用與Ruby相同的體系結構編譯擴展。將'ARCHFLAGS'設置爲'-arch x86_64'通常適用於Lion。

查看MacOS X README瞭解更多詳情。

如果您仍然遇到問題,請隨時給我發郵件,因爲我想讓「pg」更容易爲每個人安裝。我正在爲出現問題時進行更好的診斷,但很難預測構建可能出錯的各種方式。