我正在尝试为 Ruby 安装 PostgreSQL 的 pg gem。
我发出了以下命令:
gem install pg
我使用 RVM 安装了 Ruby 1.9.2。
上面的命令向我显示了以下错误。
错误是:
Building native extensions. This could take a while...
ERROR: Error installing pg:
ERROR: Failed to build gem native extension.
/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby extconf.rb
checking for pg_config... yes
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for PQconnectdb() in -lpq... no
checking for PQconnectdb() in -llibpq... no
checking for PQconnectdb() in -lms/libpq... no
Can't find the PostgreSQL client library (libpq)
*** 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=/home/User/.rvm/rubies/ruby-1.9.2-preview3/bin/ruby
--with-pg
--without-pg
--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}/lib
--enable-static-build
--disable-static-build
--with-pqlib
--without-pqlib
--with-libpqlib
--without-libpqlib
--with-ms/libpqlib
--without-ms/libpqlib
Gem files will remain installed in /home/user/.rvm/gems/ruby-1.9.2-preview3/gems/pg-0.9.0 for inspection.
Results logged to /home/user/.rvm/gems/ruby-1.9.2-preview3/gems/pg-0.9.0/ext/gem_make.out
我不知道是什么错误...
apt install postgresql-server-dev-all
适用于 Ubuntu 18.04。
您需要安装带有 PostgreSQL 标头的 postgreSQL 开发包
sudo apt-get install libpq-dev
在阅读和折腾 2 天后,并尝试了在其他笔记中发现的许多东西后,以下单行是我在 Ubuntu Lucid 10.04 上与一些 Maverick 软件包和 RVM(ruby 1.9.2-p290,rvm 1.10.2 rubygems 1.8.15,rails 3.0.1,postgres 8.4.10):
gem install pg -- --with-pg-lib=/usr/lib
结果:
Building native extensions. This could take a while...
Successfully installed pg-0.13.1
1 gem installed
Installing ri documentation for pg-0.13.1...
Installing RDoc documentation for pg-0.13.1...
{是的 - 终于成功了}!! !请注意,运行 pg_config 的输出在我的 Ubuntu / Postresql 安装的 LIBS 变量中缺少项目 -lpq!
以及为什么在某些地方从 pq 切换到 pg - 让新手感到困惑?
我仍然不明白的是 -- 和 --with(option 但我已经超出了我的深度
在 Ubuntu 中,这对我有用,希望对您有所帮助:
sudo apt-get install libpq-dev
和
gem install pg -- --with-pg-lib=/usr/lib
我在 Ubuntu 12.10 上运行这个命令:
apt-get install libpq-dev
帮助了我 - 之后运行 gem install pg -v "0.14.1",现在一切都好
需要添加包
sudo apt-get install libpq-dev
在 RoR 中安装 pg gem
安装 libpq-dev 对我不起作用。我还需要安装 build-essential
sudo apt-get install libpq-dev build-essential
ubuntu 用户的简单解决方案...
首先卸载所有 postgres 包,然后运行这些命令...
sudo apt-get install postgresql
sudo apt-get install postgresql-client libpq5 libpq-dev
# for rvm (single user)
mv ~/.rvm/usr/lib ~/.rvm/usr/lib_rvm
# for rvm (multi-user)
mv /usr/local/rvm/usr/lib /usr/local/rvm/usr/lib_rvm
gem install pg -- --with-pg-lib=/usr/lib
然后运行“捆绑安装”。一切都会好起来的。祝你有美好的一天!
sudo apt-get install postgresql-client libpq5 libpq-dev
然后执行 gem install pg
对于 .RVM 用户来说会更好:
rvmsudo gem install pg -- --with-pg-lib=/usr/lib
它对我有用(在我看到 jdupont 版本之后)
如果您安装了 libpq-dev 并且仍然遇到此问题,则可能是由于 OpenSSL 的 libssl 和朋友的版本冲突 - /usr/lib 中的 Ubuntu 系统版本(构建 libpq)和安装在 $ 中的第二个版本 RVM HOME/.rvm/usr/lib(或 /usr/local/rvm/usr/lib,如果是系统安装)。您可以通过临时重命名 $HOME/.rvm/usr/lib 并查看“gem install pg”是否有效来验证这一点。
要解决此问题,请使用系统 OpenSSL 库重新构建 rvm(您可能需要从 rvm/usr/lib 目录中手动删除 libssl.* 和 libcrypto.*):
rvm reinstall 1.9.3 --with-openssl-dir=/usr
这终于解决了我在 Ubunto 12.04 上的问题。
尝试这个
sudo apt-get install postgresql postgresql-contrib libpq-dev
您应该首先安装 PG 数据库服务器以安装客户端。之后,您安装客户端。
在此处的每个建议都失败后,这解决了我在 Ubuntu 12.04 上的问题。
rvmsudo gem install pg -v '0.12.2' -- --with-pg-lib=/usr/include/postgresql
我试图在我新安装的 Ubuntu 16.04 中设置一个 Rails 项目。我在运行 bundle 时遇到了同样的问题。跑步
sudo apt-get install aptitude
其次是
sudo apt-get install libpq-dev
为我解决了。
对于尝试此页面上的所有答案后仍有问题的任何人,以下(最终)有效:
sudo apt-get install libgmp3-dev
gem install pg
这是在完成此页面上提到的所有其他内容之后。
PostgreSQL 9.5.8 Ubuntu 16.10
这个问题的另一个解决方案是使用 Homebrew/linuxbrew 安装 PostgreSQL:
brew install postgresql
作为一个习惯问题,我不喜欢使用 sudo ,除非我必须这样做。
brew install libpq && brew link libpq --force
对于那些尝试安装 Redmine 的人,在尝试了上述所有方法后,我错过了 sudo apt-get install ruby-all-dev
。
初始错误为 mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
。
我遇到了同样的问题,并尝试了很多不同的变体。经过一些尝试,我能够sudo gem install
,但在没有 sudo 的情况下安装它仍然存在问题。
最后我找到了一个决定 - 重新安装 rvm 帮助了我。可能它可以节省其他人的时间。
apt-get install ruby-dev
为我工作。
另一种选择是使用适用于 Linux 和 macOS 的 Homebrew 来仅安装支持库:
brew install libpq
然后
brew link libpq --force
(需要 --force
选项,因为它与 postgres 公式冲突。)
不定期副业成功案例分享
sudo apt-get install aptitude
的真正新用户 :)yum install postgresql-devel