Jea*_*ean 95 postgresql gem ruby-on-rails osx-mavericks
我正在尝试安装pg gem以便再次使用我的rails项目.但我得到这个错误:
构建原生扩展.这可能需要一段时间...错误:安装pg时出错:错误:无法构建gem原生扩展.
Run Code Online (Sandbox Code Playgroud)/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb checking for pg_config... no No pg_config... trying anyway. If构建失败,请再次尝试使用--with -pg-config =/path/to/pg_config检查libpq-fe.h ...否找不到'libpq-fe.h header *extconf.rb失败*由于某些原因无法创建Makefile,可能缺少必要的库和/或标头.检查mkmf.log文件以获取更多详细信息.您可能需要配置选项.
提供的配置选项: - with-opt-dir --without-opt-dir --with-opt-include --without-opt-include = $ {opt-dir}/include --with-opt-lib - without-opt-lib = $ {opt-dir}/lib --with-make-prog --without-make-prog --srcdir =.--curdir --ruby =/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/bin/ruby --with-pg --without-pg --with-pg-config --without-pg -config --with-pg_config --without-pg_config --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include = $ {pg-dir}/include - -with-pg-lib --without-pg-lib = $ {pg-dir} /
Gem文件将保留在/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0中进行检查.结果记录到/Users/jeanosorio/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/gems/2.0.0/gems/pg-0.17.0/ext/gem_make.out
我尝试了在stackoverflow上找到的所有内容,但我仍然遇到此错误.
如果我尝试使用brew安装postgresql,我会得到以下警告:
警告:postgresql-9.2.4已经安装,它只是没有链接
如果我尝试链接
brew链接postgresql链接/usr/local/Cellar/postgresql/9.2.4 ...警告:无法链接postgresql.取消链接...
错误:无法符号链接文件:/usr/local/Cellar/postgresql/9.2.4/share/man/man7/WITH.7/usr/local/share/man/man7不可写.您应该更改其权限.
请帮忙
注意:我已经为小牛队安装了命令行工具.
如果我使用自制程序卸载并尝试再次安装,我收到此错误:
==>正在下载http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
################################################## ################ 100.0%==>修补修补文件src/pl/plpython/Makefile修补文件contrib/uuid-ossp/uuid-ossp.c ==> ./configure --prefix =/usr/local/Cellar/postgresql/9.2.4 - datadir =/usr/local/Cellar/postgresql/9.2.4/share/postgresql --docdir =/usr/local/Cellar/p ==> make install-world ==>警告
构建笔记
如果PostgreSQL 9的版本失败并且您安装了版本8.x,则可能需要先删除以前的版本.请参阅:https:
//github.com/mxcl/homebrew/issues/issue/2510创建/升级数据库
如果这是您的第一次安装,请使用以下命令创建数据库:initdb/usr/local/var/postgres -E utf8
要从PostgreSQL的先前主要版本(9.2之前版本)迁移现有数据,请参阅:http:
//www.postgresql.org/docs/9.2/static/upgrading.html加载扩展程序
默认情况下,Homebrew构建所有可用的Contrib扩展.要查看所有可用扩展的列表,请从psql命令行运行:
SELECT*FROM pg_available_extensions;要加载任何扩展名,请导航到所需的数据库并运行:CREATE EXTENSION [extension name];
例如,要在当前数据库中加载tablefunc扩展,请运行:CREATE EXTENSION tablefunc;
有关CREATE EXTENSION命令的更多信息,请参阅:http:
//www.postgresql.org/docs/9.2/static/sql-createextension.html有关扩展的更多信息,请参阅:http:
//www.postgresql.org/文档/ 9.2 /静态/ contrib.html其他
有些机器可能需要配置共享内存:
http://www.postgresql.org/docs/9.2/static/kernel-resources.html#SYSVIPC 安装postgres gem时,建议使用ARCHFLAGS:ARCHFLAGS =" - arch x86_64"宝石安装pg要安装没有sudo的gem,请参阅Homebrew wiki.
要在登录时启动postgresql:ln -sfv /usr/local/opt/postgresql/*.plist~/ Library/LaunchAgents然后立即加载postgresql:launchctl load~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist或,如果你不想/需要launchctl,你可以运行:pg_ctl -D/usr/local/var/postgres -l /usr/local/var/postgres/server.log start警告:无法链接postgresql.取消链接...错误:
brew link步骤未成功完成公式已构建,但未符号链接到/ usr/local您可以使用`brew link postgresql'==>汇总/usr/local/Cellar/postgresql/9.2再次尝试. 4:2831个文件,38M,内置4.9分钟
解:
我执行此命令以更改文件夹的权限:
sudo chown jeanosorio/usr/local/share/man/man7
然后
brew link postgresql链接/usr/local/Cellar/postgresql/9.3.1 ...创建了421个符号链接
最后:
sudo ARCHFLAGS =" - arch x86_64"gem install pg
获取:pg-0.17.0.gem(100%)构建本机扩展.这可能需要一段时间......已成功安装pg-0.17.0
Yur*_*uri 239
如果您想避免使用MacPorts,可以下载Postgres应用程序并将其放入Application目录.
然后,指定新下载的位置pg_config:
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/latest/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
如果您遇到缺少的标题问题,请尝试指定include应用程序的目录:
gem install pg -- --with-pg-include='/Applications/Postgres.app/Contents/Versions/latest/include/'
Run Code Online (Sandbox Code Playgroud)
Ayu*_*oel 70
使用brew获得 postgresql
brew install postgresql
Run Code Online (Sandbox Code Playgroud)
检查已安装的brew中是否有pg_config.我找到了我的
/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
检查通过:
$ ls /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
> /usr/local/Cellar/postgresql/9.3.3/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
完成后,安装pg宝石
env ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/usr/local/Cellar/postgresql/9.3.3/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
小智 35
我无法通过MacPorts安装postgres.相反,我安装了Postgress.app.并呼吁
gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
注意:在较新的版本中(至少在9.3中),路径实际上是: /Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
2po*_*kes 10
如果您想直接使用postgresql安装程序,这是另一种选择.在更新到小牛队之后,你需要跳过几个篮球.这是我做的:
首先安装xcode命令行工具:
xcode-select --install
Run Code Online (Sandbox Code Playgroud)
下载并安装最新版本的PostgreSQL(9.3.1),在我的情况下,我只使用了图形安装程序.这是下载页面的链接:
http://www.enterprisedb.com/products-services-training/pgdownload#osx
Run Code Online (Sandbox Code Playgroud)
只需选择它为您提供的所有默认值.我的情况是它将postgres安装到以下目录,如果你将它安装到另一个目录,只记得你选择的路径,因为你很快就会需要它.
/Library/PostgreSQL/9.3
Run Code Online (Sandbox Code Playgroud)
如果您现在尝试安装最新的pg gem(0.17.0),则需要在命令行上传递几个选项.这是我用过的:
ARCHFLAGS="-arch x86_64" gem install pg -- --with-pg-config=/Library/PostgreSQL/9.3/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
如果您将postgres安装到其他位置,则需要修复pg_config文件的路径.
如果在尝试安装pg gem时抱怨缺少"libpq.5.dylib"文件,则需要创建一个指向此文件实际位置的符号链接.Postgres在你的/ usr/local/lib /目录中寻找它,所以在那里创建一个符号链接并将其重定向到它的实际位置.在我的情况下,我不得不运行:
sudo ln -s /Library/PostgreSQL/9.3/lib/libpq.5.dylib /usr/local/lib/libpq.5.dylib
Run Code Online (Sandbox Code Playgroud)
一旦你完成了这一点,再次重新安装宝石,希望它能像你一样对你有用.
对我来说,在优胜美地,我不需要指定pg_config路径.以下完成了它.
brew install postgresql
sudo env ARCHFLAGS="-arch x86_64" gem install pg
Run Code Online (Sandbox Code Playgroud)
似乎架构标志是关键.
在我的情况下(我在小牛队需要PG 0.16.0),我通过MacPorts安装了postgresql
sudo port install postgresql90
Run Code Online (Sandbox Code Playgroud)
然后
gem install pg -v '0.16.0' -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
对于最新版本,您需要扣除-v'0.16.0'
gem install pg -- --with-pg-config=/opt/local/lib/postgresql90/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
如果你安装了Homebrew,在阅读它们的共存之前不要安装MacPorts
将缺少的东西--with-pg-config放在Bundler的配置文件中:/Users/<your_user>/.bundle/config让您的生活更轻松.
---
BUNDLE_BUILD__PG: --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
BUNDLE_BUILD__EXAMPLE_GEM: --other-configs
BUNDLE_BUILD__OTHER_EXAMPLE_GEM: --other-configs
Run Code Online (Sandbox Code Playgroud)
然后又跑bundle install了.
这对我行得通!(Postgres 93,mac ox 10.9.1)1.下载@ http://postgresapp.com/而不是
gem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72444 次 |
| 最近记录: |