无法安装PGgem

我尝试使用gem install pg但它似乎不工作。

gem install pg给出这个错误

 Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again with --with-pg-config=/path/to/pg_config checking for libpq-fe.h... no Can't find the 'libpq-fe.h header *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --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=C:/Ruby/bin/ruby --with-pg --without-pg --with-pg-dir --without-pg-dir --with-pg-include --without-pg-include=${pg-dir}/include --with-pg-lib --without-pg-lib=${pg-dir}/lib --with-pg-config --without-pg-config --with-pg_config --without-pg_config Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/pg-0.10.1 for inspection. Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/pg-0.10.1/ext/gem_make.out 

在这里回答: 无法在Windows上安装pg gem

没有Windows本地版本的最新发布的pg(0.10.0)昨天发布,但如果你安装0.9.0它应该安装二进制文件没有问题。

我有这个问题,这对我工作:

安装postgresql-devel软件包,这将解决pg_config丢失的问题。

 sudo apt-get install libpq-dev 

gem install pg -- --with-pg-config=/usr/pgsql-9.1/bin/pg_config

问题是gem依赖性,所以在安装pg之前,确保你已经安装了“libpq-dev”

Ubuntu系统:

sudo apt-get install libpq-dev

RHEL系统:

yum安装postgresql-devel

苹果电脑:

brew安装postgresql

@Winfield 说 :

pg gem需要postgresql客户端绑定。 这个错误通常意味着它找不到你的Postgres库。 要么你没有安装它们,或者你可能需要将--with-pg-dir=传递给你的gem install。

更重要的是,你只需要--with-pg-config=来安装它。

在Mac上

如果有的话,你还通过mac上的网站捆绑安装了postgres,它会在/Applications/Postgres.app/Contents/Versions/9.3/bin地方。

所以,要么你把它传递给gem install:

 gem install pg -- --with-pg-config=/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config 

或者你正确设置PATH 。 既然这可能太多了,暂时设置path:

 export PATH=%PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin/ 

我没有安装postgresql,所以我只是安装它使用

 sudo apt-get install postgresql postgresql-server-dev-9.1 

在Ubuntu 12.04上。

这解决了它。


更新:

使用最新版本:

 sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3 

在我的情况下,我使用Ubuntu 14.04.2 LTS

sudo apt-get install libpq-dev

我用

Ruby 2.2.2和Rails 4.2.1

 $ PATH=$PATH:/Library/PostgreSQL/9.1/bin sudo gem install pg 

replace您的系统上安装的版本9.1。

如果你在Mac上使用Postgres.app ,你可以像这样解决这个问题:

第一个gem uninstall pg ,然后编辑~/.bash_profile~/.zshrc文件或等价物,并添加:

 # PostgreSQL bin path export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin 

然后bundle installgem install pg都应该按预期工作。

在Mac OS上(El Capitano)。 你可以简单地使用: brew install postgresql

使用ARCH标志。

 sudo env ARCHFLAGS="-arch x86_64" gem install pg 

这解决了你所遇到的同样的问题。

pg gem需要postgresql客户端库绑定。 这个错误通常意味着它找不到你的Postgres库。 要么你没有安装它们,或者你可能需要将–with-pg-dir =传递给你的gem install。

我将这个问题在Linux Mint(Maya)上13,我通过安装postgresql和postgresql-server来修复它:

 apt-get install postgresql-9.1 sudo apt-get install postgresql-server-dev-9.1 

对于Mac用户

 PATH=$PATH:/Library/PostgreSQL/9.4/bin/ gem install pg 

这应该做的伎俩

我必须在CentOS 5.8上这样做。 运行bundle install不会导致问题,因为我不能强制它使用特定的PG版本。

我不能yum erase postgresql postgresql-devel要么因为依赖性问题(它会删除PHP,HTTP等)

解决scheme? 临时使用$ PATH来优先更新pgsql,而不是默认的:

 export PATH=/usr/pgsql-9.2/bin:$PATH bundle install 

基本上,使用上面的命令,它将在/usr/bin/pg_config之前查看/usr/pgsql-9.2/bin/pg_config

如果您使用的是jruby而不是ruby,那么在安装pg gem时会遇到类似的问题。 相反,您需要安装适配器:

 gem 'activerecord-jdbcpostgresql-adapter' 

在Mac上, brew install postgres THEN bundle install

你只要到这里看看你的pg版本是否支持Win32平台,那么使用这个命令来安装:

gem install pg -v 0.14.1 –platform = x86-mingw32