首页 > 解决方案 > “如何修复安装包时我在 Gemfile pg 中收到错误”

问题描述

我正在尝试bundle install通过 Debian 为我的 rails 应用程序做一些事情

尝试使用gem install pg --forcegem install pg -v '1.1.4' --source 'https://rubygems.org/'

尝试使用sudo apt-get install libpq-dev

Err:1 http://deb.debian.org/debian stretch/main amd64 libpq5 amd64 9.6.11-0+deb9u1404 Not Found [IP: 2a04:4e42:1::204 80] Err:2 http://deb .debian.org/debian stretch/main amd64 libpq-dev amd64 9.6.11-0+deb9u1 404 Not Found [IP: 2a04:4e42:1::204 80] E: 获取http://deb.debian 失败。 org/debian/pool/main/p/postgresql-9.6/libpq5_9.6.11-0+deb9u1_amd64.deb 404 Not Found [IP: 2a04:4e42:1::204 80] E: 无法获取http://deb. debian.org/debian/pool/main/p/postgresql-9.6/libpq-dev_9.6.11-0+deb9u1_amd64.deb 404 Not Found [IP: 2a04:4e42:1::204 80] E: 无法获取一些档案,也许运行 apt-get update 或尝试使用--fix-missing?

saishbhende24@DESKTOP-ELUO53H:/mnt/c/saishrails/r35.1/r5.1$gem install pg -v '1.1.4' --source 'https://rubygems.org/' 构建原生扩展。这可能需要一段时间...... /home/saishbhende24/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/rubygems/ext/builder.rb:76:警告:不安全的世界可写目录/home /saishbhende24/.rvm/gems/ruby-2.6.1/bin 在 PATH,模式 040777 错误:安装 pg 时出错:错误:无法构建 gem 本机扩展。

saishbhende24@DESKTOP-ELUO53H:/mnt/c/saishrails/r35.1/r5.1$ gem install pg Building native extensions. This could take a while...

/home/saishbhende24/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0/rubygems/ext/builder.rb:76:警告:不安全的世界可写目录/home/saishbhende24/.rvm/gems/ PATH 中的 ruby​​-2.6.1/bin,模式 040777 错误:安装 pg 时出错:错误:无法构建 gem 原生扩展。

current directory: /home/saishbhende24/.rvm/gems/ruby-2.6.1/gems/pg-1.1.4/ext

/home/saishbhende24/.rvm/rubies/ruby-2.6.1/bin/ruby -I /home/saishbhende24/.rvm/rubies/ruby-2.6.1/lib/ruby/2.6.0 -r ./siteconf20190805- 760-x2yfpd.rb extconf.rb 检查 pg_config... 否 没有 pg_config... 无论如何都在尝试。如果构建失败,请再试一次 --with-pg-config=/path/to/pg_config 检查 libpq-fe.h... 否 Can't find the 'libpq-fe.h header * extconf.rb failed *由于某种原因无法创建 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=/home/saishbhende24/.rvm/rubies/ruby-2.6.1/bin/$(RUBY_BASE_NAME) --with-pg --without-pg --enable-windows-cross --disable- windows-cross --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}/lib

要查看此扩展无法编译的原因,请查看 mkmf.log,可在此处找到:

/home/saishbhende24/.rvm/gems/ruby-2.6.1/extensions/x86_64-linux/2.6.0/pg-1.1.4/mkmf.log

extconf 失败,退出代码 1

Gem 文件将继续安装在 /home/saishbhende24/.rvm/gems/ruby-2.6.1/gems/pg-1.1.4 以供检查。结果记录到 /home/saishbhende24/.rvm/gems/ruby-2.6.1/extensions/x86_64-linux/2.6.0/pg-1.1.4/gem_make.out

预期结果是成功安装包。

标签: ruby-on-railsrubygemsdebian

解决方案


您缺少一个包裹。宝石pg取决于libpq-dev

尝试

sudo apt-get update

然后

sudo apt-get install postgresql
sudo apt-get install libpq-dev

推荐阅读