当我在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问题:
An error occurred while installing pg (0.17.1), and Bundler cannot continue
Installing PG gem on OS X - failure to build native extension。
除此之外,我还尝试执行以下操作:
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并获得相同的功能。为了安全起见,我也跑了:
的信息:
答案 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
Install Xcode command line tools (Apple Developer site)
brew uninstall postgresql
brew install postgresql
ARCHFLAGS="-arch x86_64" gem install pg
也许这不会奏效?我不知道......我知道在Windows中,你必须先安装二进制文件才能让gem工作。
答案 1 :(得分:-1)
问候我希望我能提供帮助。请问您是如何创建rails项目的?你只是使用:
rails new *appname*
如果是这样,可以尝试创建一个新的rails应用程序,如下所示:
rails new *appname* -d postgresql
在创建数据库并运行迁移/种子之前,您应该进入“config / database.yml”并将用户名和密码更改为您希望在计算机上安装postgreSQL之后设置的postgreSQL用户。< / p>
祝你好运!