似乎许多其他人在安装 pg gem 时遇到了问题。为其他人提出的解决方案都不适合我。
我试图安装 pg gem 和 postgres.app。 pg gem 不会安装。我得到的第一个错误是:
安装 pg (0.17.0) 时出错,Bundler 无法继续。在捆绑之前确保 gem install pg -v '0.17.0'
成功。
关于将我的 gem install 指向 pg 配置的安装建议失败并显示以下错误消息(此论坛上的许多其他人都遇到过):
Failed to build native extensions... Results logged to /Users/melanie/.rvm/gems/ruby-1.9.3-p448/gems/pg-0.17.0/ext/gem_make.out
我不知道如何查找或访问此日志文件以搜索更多线索。
当我尝试使用 sudo apt-get install 命令时,我还会收到一条错误消息(找不到命令)。在过去的 6 个小时里,我搜索了这个论坛,尝试了每条建议以使 pg 与我的 rails 项目一起工作。
我找不到有关如何更改路径的建议,或者特别是需要进行哪些更改。我的 which pg_config
返回一个文件源。我已经将它与使用该配置安装 pg 的命令一起使用。它失败。
有很多人遇到过这个问题。许多答案建议自制。我不得不删除它,因为它引发了其他问题。
psql -v
。 - 你正在运行什么红宝石版本?它看起来像 1.9.3,但是 ruby -v
给了你什么?
对我来说同样的错误,直到我下载 OS X 10.9 (Mavericks) 才遇到它。唉,又是一个操作系统升级头疼的问题。
这是我修复它的方法(使用自制软件):
安装另一个构建的 Xcode 工具(在终端中输入 brew update 将提示您更新 Xcode 构建工具)
酿造更新
冲泡安装postgresql
之后gem install pg
为我工作。
如果您使用的是 Ubuntu,请尝试安装以下 lib 文件
sudo apt-get install libpq-dev
接着
gem install pg
为我工作。
libpg-dev
;是Q不是P!我花了 10 分钟才弄清楚这一点。
yum install postgres-devel
yum install postgresql-devel
我正在使用 OS X Mavericks(版本 10.9)
当我运行上述命令时,我收到以下消息:如果 PostgreSQL 9 的构建失败并且您安装了 8.x 版。
所以我运行以下命令:
ARCHFLAGS="-arch x86_64" gem install pg
这对我有用,我希望这对某人有帮助:)
sudo ARCHFLAGS="-arch x86_64" gem install pg
bundle install
时都需要这个,所以我把它放在 ~/.bash_profile
中作为导出 :)
好的,我也遇到了这个问题(psql 是 v 9.3.0,ruby 是 v 2.1.2),对我有用的解决方案是首先设置捆绑配置设置:
bundle config build.pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
这个答案终于帮我弄清楚了:https://stackoverflow.com/a/9235107/3546680
我尝试了几个小时,但以下终于修复了它(我在 OS X 10.9.4 上):
安装 Xcode 命令行工具(Apple 开发者网站) brew uninstall postgresql brew install postgresql ARCHFLAGS="-arch x86_64" gem install pg
brew uninstall postgresql
和 brew install postgresql
在 OS X 10.10 和 10.11 上不是必需的步骤。只需 gem uninstall pg
(并删除所有版本),然后确保再次选择 bundle
或 gem install pg
,本机扩展将使用此 OS X 版本的新命令行工具重新构建。
简单的步骤
brew install postgresql gem install pg -v '你的版本'
同样,安装 Mavericks bundle update
后,在 pg gem 上抛出错误,该错误仅用于生产而不是本地。
我使用 Brew 管理我的软件包,并且已经安装了 postgresql,但我仍然收到“no pg_config”错误。
解决方法是只使用 brew uninstall postgresql
,然后是 brew install postgresql
。之后我立即能够成功运行 bundle update
。
我相信“正确”的答案是首先通过将以下内容添加到 ~/.profile
(如果使用 ZSH,则为 .zshrc
或 ~/.zprofile
)为 Postgres.app 正确配置 PATH:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/latest/bin
然后在终端中打开一个新选项卡或窗口并安装 pg
gem:
ARCHFLAGS="-arch x86_64" gem install pg
记录在这里:
https://postgresapp.com/documentation/cli-tools.html
https://postgresapp.com/documentation/configuration-ruby.html
在 /Applications 中安装了 Postgres 的 OSX 上,我只需运行以下命令(根据您的版本更改 0.20 和 9.4)
gem install pg -v '0.20' -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config
你应该有 :
使用以下命令构建本机扩展:'--with-pg-config=/Applications/Postgres.app/Contents/Versions/9.4/bin/pg_config' 这可能需要一段时间... 成功安装 pg-0.20。
运行 brew update
然后 brew install postgresql
为我工作,之后我能够运行 pg
gem 文件没有问题。
我花了一天的时间来解决这个问题:
我发现 build.pg 的全局值设置为:/opt/local/lib/postgresql91/bin/pg_config
,而这不是安装 postgres 的位置。
我通过将 build.pg 的值替换为:bundle config build.pg --with-pg-config=/usr/local/Cellar/postgresql/9.4.4/bin/pg_config
来修复它,这是我的 postgresql 安装所在的位置。
尝试:
gem install pg -- --with-pg-config=`which pg_config`
解决了!我发现系统上缺少一些 PostgreSQL 库。只有两个步骤解决了它:
brew install postgresql
然后运行
gem install pg
对于那些对使用 brew
不感兴趣的人。
下载 PostgreSQL 应用程序。按照 macOS 默认说明进行安装。建议运行 PostgreSQl。运行 gem install pg -- --with-pg-config=/path/to/postgress/in/your/applications/folder/` 例如,在我的机器上是 /Applications/Postgres.app/Contents/Versions/12 /bin/pg_config
我有同样的问题,我解决了
gem update --system 3.0.6
brew update
2.brew install postgresql
3.gem install pg
4.bundle install