簡體   English   中英

安裝pg(0.17.1)時發生錯誤

[英]error occurred while installing pg (0.17.1)

當我在Rails項目上運行捆綁軟件時,我似乎得到了以下信息:

使用本地擴展安裝pg 0.17.1

Gem :: Ext :: BuildError:錯誤:無法構建gem本機擴展。

 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby -r 

./siteconf20151024-43303-t81fnp.rb extconf.rb正在檢查pg_config ...是使用/ usr / local / bin / pg_config中的配置值安裝pg(0.17.1)時發生錯誤,並且Bundler無法繼續。 捆綁之前,請確保gem install pg -v '0.17.1'成功。

我已經訪問了以下SO問題:

除此之外,我還嘗試執行以下命令:

gem install pg

env ARCHFLAGS="-arch x86_64" gem install pg

gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.4.5/bin/pg_config

而且我不斷得到:

錯誤:執行gem時...(Gem :: FilePermissionError)您沒有對/Library/Ruby/Gems/2.0.0目錄的寫權限。

僅供參考,我也安裝了rbenv。 還嘗試了rbenv rehash並執行了上述命令,但沒有運氣。 我也嘗試過卸載並重新安裝Postgres並獲得相同的結果。 為了安全起見,我還跑過:

  • 釀造更新
  • brew uinstall posgresql> brew安裝postgresql
  • 更新的Xcode

信息:

  • Mac OSx優勝美地10.10.5
  • Postgres v9.4.5
  • rbenv v0.4.0
  • rbenv全局=> 2.0.0-p247

我不知道Mac,但是在Windows上遇到了這個問題。

-

問題在這里:

無法構建gem本機擴展

當您安裝gem時,許多高級版本實際上都是通過extconf.rb文件進行編譯/“構建”的。 我已經忘記了它的重要性,但是它基本上允許gem在您使用的OS環境中本地運行。

簡而言之,發生錯誤是因為您的操作系統無權訪問gem需要編譯的“開發人員標頭”。

此問題的最常見實例是Windows上的mysql2 gem ,但其他情況也是如此。

-

您需要的是嘗試安裝gem 之前,先在系統上下載PGSQL。

安裝PGSQL之后,您可能需要使用一些“開關”來引用開發人員標頭,但在這種情況下似乎並非如此:

在OS X上安裝PG gem-無法構建本機擴展

  1. Install Xcode command line tools (Apple Developer site)
  2. brew uninstall postgresql
  3. brew install postgresql
  4. ARCHFLAGS="-arch x86_64" gem install pg

也許這行不通嗎? 我不知道...我知道在Windows中,您必須安裝二進制文件才能期望gem能夠正常工作。

問候,希望能有所幫助。 請問您是如何創建Rails項目的? 您是否簡單地使用:

rails new *appname*

如果是這樣,也許嘗試創建一個新的Rails應用程序,如下所示:

rails new *appname* -d postgresql

在創建數據庫並運行遷移/種子之前,您應該進入“ config / database.yml”並將用戶名和密碼更改為您希望在計算機上安裝了postgreSQL之后設置的postgreSQL用戶。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM