【问题标题】:error occurred while installing pg (0.17.1)安装 pg (0.17.1) 时出错
【发布时间】:2016-01-24 08:35:34
【问题描述】:

当我在 Rails 项目上运行一个包时,我似乎得到了以下信息:

使用原生扩展安装 pg 0.17.1

Gem::Ext::BuildError: ERROR: 未能构建 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 install postgresql
  • 更新了 Xcode

信息:

  • Mac OSx Yosemite 10.10.5
  • Postgres v9.4.5
  • rbenv v0.4.0
  • rbenv 全局 => 2.0.0-p247

【问题讨论】:

    标签: ruby-on-rails postgresql


    【解决方案1】:

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

    --

    问题就在这里:

    构建 gem 原生扩展失败

    当您安装 gem 时,许多高级的实际上是通过 extconf.rb 文件编译/“构建”的。我已经忘记了这个的意义,但它基本上允许 gem 在你正在使用的操作系统环境上本地运行。

    简而言之,发生错误是因为您的操作系统无法访问 gem 编译所需的“开发者头文件”。

    这个问题最常见的例子是mysql2 gem on Windows,但也发生在其他人身上。

    --

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

    安装 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

    也许这行不通?我不知道...我知道在 Windows 中,您必须先安装二进制文件,然后才能让 gem 工作。

    【讨论】:

      【解决方案2】:

      您好,希望能帮到您。请问您是如何创建 Rails 项目的?你有没有简单地使用:

      rails new *appname*
      

      如果是这样,可以尝试像这样创建一个新的 Rails 应用:

      rails new *appname* -d postgresql
      

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

      祝你好运!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-12
        • 1970-01-01
        • 2014-01-16
        • 1970-01-01
        • 1970-01-01
        • 2016-10-04
        • 2013-05-21
        • 1970-01-01
        相关资源
        最近更新 更多