$ sudo bundle install
结果
Fetching gem metadata from https://rubygems.org/...........
Fetching gem metadata from https://rubygems.org/..
Using rake (0.9.2.2)
Using i18n (0.6.1)
Using multi_json (1.3.6)
Using activesupport (3.2.8)
Using builder (3.0.4)
Using activemodel (3.2.8)
Using erubis (2.7.0)
Using journey (1.0.4)
Using rack (1.4.1)
Using rack-cache (1.2)
Using rack-test (0.6.2)
Using hike (1.2.1)
Using tilt (1.3.3)
Using sprockets (2.1.3)
Using actionpack (3.2.8)
Using mime-types (1.19)
Using polyglot (0.3.3)
Using treetop (1.4.11)
Using mail (2.4.4)
Using actionmailer (3.2.8)
Using arel (3.0.2)
Using tzinfo (0.3.33)
Using activerecord (3.2.8)
Using activeresource (3.2.8)
Using bundler (1.2.1)
Using coffee-script-source (1.4.0)
Using execjs (1.4.0)
Using coffee-script (2.2.0)
Using rack-ssl (1.3.2)
Using json (1.7.5)
Using rdoc (3.12)
Using thor (0.16.0)
Using railties (3.2.8)
Using coffee-rails (3.2.2)
Using jquery-rails (2.1.3)
Installing pg (0.14.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby1.8 extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
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=/usr/bin/ruby1.8
--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 /var/lib/gems/1.8/gems/pg-0.14.1 for inspection.
Results logged to /var/lib/gems/1.8/gems/pg-0.14.1/ext/gem_make.out
An error occurred while installing pg (0.14.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.
我正在制作$ gem install pg -v '0.14.1'
但这不是帮助
我的Gemfile
source 'https://rubygems.org'
#gem 'rails', '3.0.9'
#gem 'sqlite3', '1.3.6', :group => :development
gem 'rails', '3.2.8'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
gem 'pg'
gem 'taps'
gem 'json'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
#group :production do
#gem 'pg'
#end
#group :development do
#gem 'sqlite3'
#end
gem_make.out
/usr/bin/ruby1.8 extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
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=/usr/bin/ruby1.8
--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
mkmf.log
find_executable: checking for pg_config... -------------------- yes
--------------------
find_header: checking for libpq-fe.h... -------------------- no
"gcc -E -I. -I/usr/lib/ruby/1.8/i686-linux -I. -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -I -fno-strict-aliasing -g -g -O2 -fPIC conftest.c -o conftest.i"
conftest.c:1:22: fatal error: libpq-fe.h: No such file or directory
compilation terminated.
checked program was:
/* begin */
1: #include <libpq-fe.h>
/* end */
--------------------
请帮帮我。谢谢。
对不起,请注意这个问题。 你的帖子没有太多的上下文来解释代码部分;请更清楚地解释一下你的情景。
答案 0 :(得分:122)
只需这个
$ sudo apt-get install libpq-dev
答案 1 :(得分:15)
试试这个:
答案 2 :(得分:14)
在Fedora / RHEL系统上,这就是诀窍:
sudo yum install libpqxx-devel
答案 3 :(得分:4)
在Mac OS X上运行如下:
gem install pg -- --with-pg-config=***/path/to/pg_config***
***/path/to/pg_config***
是pg_config的路径
答案 4 :(得分:3)
我在Amazon AMI上使用Jenkins服务器时出现此问题。
$ pg_config | grep VERSION
VERSION = PostgreSQL 9.4.9
然后根据您需要的版本,您可以安装所需的lib
$ sudo yum list postgresql* | grep devel
postgresql92-devel.x86_64 9.2.18-1.59.amzn1 @amzn-main
postgresql94-devel.x86_64 9.4.9-1.67.amzn1 @amzn-main
postgresql8-devel.x86_64 8.4.20-5.52.amzn1 amzn-main
postgresql93-devel.x86_64 9.3.14-1.62.amzn1 amzn-main
postgresql95-devel.x86_64 9.5.4-1.71.amzn1 amzn-main
然后你可以安装相应的版本,在我的版本9.4:
sudo yum install postgresql94-devel
答案 5 :(得分:1)
试试这个:
sudo apt-get install libpq-dev
gem install pg
它会有效!
答案 6 :(得分:1)
在Mac上确保您的postgres已链接。 你可以通过
来做到这一点brew link --overwrite postgresql
这解决了我的问题。
答案 7 :(得分:1)
对于Amazon Linux:
sudo yum install postgresql-devel
然后再次运行命令
答案 8 :(得分:1)
对于Alpine Linux,您可以将libpq-fe.h
添加为:
apk add postgresql-dev
答案 9 :(得分:0)
这对我有用:
@media only screen and (max-width: 900px) {
#ad_1 { display: none; }
}
答案 10 :(得分:0)
我使用的是Ubuntu-16。我使用这里显示的方法:https://www.postgresql.org/download/linux/ubuntu/来安装postgresql-9.6;
我使用"sudo apt-get install libpq-dev"
来安装devlib.But它仍然无法正常工作。所以我使用方法ln
建立软链接,这里是:
sudo ln -s /usr/include/postgresql/libpq-fe.h /usr/include/
;
sudo ln -s /usr/include/postgresql/postgres_ext.h /usr/include/
我终于解决了这个问题。
答案 11 :(得分:0)
brew install postgresql
为我工作。
postgresql的安装出现了另一个错误
Error: The following directories are not writable by your user:
/usr/local/lib/pkgconfig
/usr/local/share/info
/usr/local/share/man/man3
此错误已通过将当前用户的访问权限授予该用户而得到解决
sudo chown -R $(whoami) (path)
答案 12 :(得分:0)
$ sudo apt-get install libpq-dev
就我而言,我将目录路径错误。所以:
发件人:gcc -o lib_version lib_version.c -I/usr/include/postgresql -lpq -std=c99
收件人:gcc -o lib_version lib_version.c -I /usr/include/postgresql -lpq -std=c99
GL
答案 13 :(得分:0)
这是我在centos7发行版中部署我的应用程序时使用capistrano发生的。显然gem需要一些头文件,可以通过安装正确的开发包来解决这些问题。
我通过运行sudo yum search postgres | grep devel
对其进行了修复,并为我的postgres安装找到了正确的软件包,该软件包为10。
然后只需运行sudo yum install postgresql10-devel
,然后运行eureka!
答案 14 :(得分:0)
如果您已通过 Homebrew 在 MacOS 上安装了 postgresql
brew install postgresql@95 # 9.5 is the version needed in my project
根据您的 pg_config
版本,您可能需要找到 libpq
我的项目需要旧版本的 pg
。
gem install pg -v '0.20.0' -- --with-pg config=/usr/local/Cellar/libpq/13.1/bin/pg_config