2010-01-10 51 views
1

我剛剛切換到Mac,我以前在Linux上工作。 我想爲我的項目使用posgresqlPostgresql無法在Mac OS上的軌道上使用紅寶石x

當我啓動服務器時,它工作正常。

然而,當我用耙子:DB:遷移,它不能說: 請安裝PostgreSQL的適配器:gem install activerecord-postgresql-adapter(沒有這樣的文件加載 - PG)

我已經安裝了「PG」寶石,和沒有像activerecord-postgresql-adapter這樣的gem。

我覺得很奇怪,當我做./script/server它的工作原理,但不是當我做耙:DB:遷移

Thnaks

回答

1

檢查以確保您始終以root身份安裝您的寶石。如果您將pg安裝到〜/ .gems/ruby​​/1.8/gems(或類似)中,則可能會遇到此問題(或類似問題)。

(安德魯的回答更多信息,漂亮多了。)

+0

我認爲它實際上是活動記錄gem,它安裝到我的本地用戶目錄中,而不是root。非常感謝。 – Arthur

1

PG是ActiveRecord的,PostgreSQL的適配器的寶石,所以這是它未能找到的。

由於它只是從遷移失敗,它可能是耙從一個不同的版本的ruby比控制檯或腳本 - 你有多個版本的紅寶石?

另外,由於它在rake失敗,我會得到詳細的(-v)輸出,所以你可以看到堆棧跟蹤,並更好地看到發生了什麼事情,以及在什麼時候它試圖獲得PG,但沒有有寶石可用。我已經看到了一些與Rails加載順序不一樣的奇怪現象,因此這不是不可能的。

還有是自稱,以幫助在軌PG遷移最近的插件,可以幫助: http://github.com/alex3t/rails_on_pg

如果我上面的猜測是完全無用的,這裏有一些其他地方看看:

項目對於PG頁: https://rubyforge.org/projects/ruby-pg/

有關軌道更多的Postgres支持: http://wiki.rubyonrails.org/database-support/postgres

羅比·羅素寫更多關於Postgres的比任何其他軌道BLOGGER我讀: http://www.robbyonrails.com/articles/tag/postgresql

+0

我越想到它,我敢打賭你從ports安裝rails/ruby​​,但不是rake,所以在不同的目錄下有不同版本的這些可執行文件。試試這個,看看他們都在同一個目錄: 其中寶石紅寶石耙 而且,這傢伙有它使用羅比對回報率和Postgres崗位工作,在OS X: http://joshkim.org/2009/02/15/postgresql-ruby-and-rails-win/ –

1

您可能需要安裝以下

  • PKG PostgreSQL的
  • PKG PostgreSQL的-devel的
  • 一個或多個寶石pg
0

我只是碰到了這個在Linux上。在我的情況下,權限是錯誤的:/usr/lib/ruby/gems/1.8/gems/pg-0.9.0設置爲700。