安装pg时发生错误(0.17.1)

时间:2015-10-25 02:18:55

标签: ruby-on-rails postgresql

当我在rails项目上运行一个bundle时,我似乎得到了以下内容:

  

使用原生扩展安装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 ... yes使用/ 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 update
  • brew uinstall posgresql> brew install postgresql
  • 更新了Xcode

的信息:

  • Mac OSx Yosemite 10.10.5
  • Postgres v9.4.5
  • rbenv v0.4.0
  • rbenv global => 2.0.0-P247

2 个答案:

答案 0 :(得分:0)

我不了解Mac,但我在Windows上遇到过这个问题。

-

问题在于:

  

无法构建gem原生扩展

当您安装gem时,许多高级的实际编译/" build"通过extconf.rb文件。我已经忘记了这一点的重要性,但它基本上允许gem在您正在使用的操作系统环境中本机运行。

简而言之,发生错误是因为您的操作系统无法访问"开发人员标题" gem需要编译。

这个问题的最常见的例子是mysql2 gem on Windows,但也适用于其他人。

-

在尝试安装gem之前,您需要在系统上下载PGSQL。

安装PGSQL之后,您可能需要使用某些"开关"来引用开发人员标题,但在这种情况下似乎不是这样的:

Installing PG gem on OS X - failure to build native extension

  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
  5. 也许这不会奏效?我不知道......我知道在Windows中,你必须先安装二进制文件才能让gem工作。

答案 1 :(得分:-1)

问候我希望我能提供帮助。请问您是如何创建rails项目的?你只是使用:

rails new *appname*

如果是这样,可以尝试创建一个新的rails应用程序,如下所示:

rails new *appname* -d postgresql

在创建数据库并运行迁移/种子之前,您应该进入“config / database.yml”并将用户名和密码更改为您希望在计算机上安装postgreSQL之后设置的postgreSQL用户。< / p>

祝你好运!