“如何解决,在安装软件包时,我在Gemfile pg中收到错误”

时间:2019-08-05 16:43:51

标签: ruby-on-rails rubygems debian

我正在尝试通过Debian在我的Rails应用程序的路径上做bundle install

尝试使用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延伸/主amd64 libpq5 amd64 9.6.11-0 + deb9u1404未找到[IP:2a04:4e42:1 :: 204 80] 错误:2 http://deb.debian.org/debian Stretch / main amd64 libpq-dev amd64 9.6.11-0 + deb9u1 404未找到[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找不到[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找不到[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/ PATH模式040777中的ruby-2.6.1 / bin 错误:安装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/ruby-2.6.1/bin在PATH模式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 ...   否找不到'libpq-fe.h标头    * 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           --with-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

     

宝石文件将继续安装在   /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

预期结果是成功安装捆绑软件。

3 个答案:

答案 0 :(得分:0)

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

尝试

sudo apt-get update

然后

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

答案 1 :(得分:0)

pg已安装,由于某种原因,我安装了

./channels

必须为//= require tree,以便它可以从js文件夹中获取所有文件。

答案 2 :(得分:0)

此命令解决了我的问题: sudo apt-get install postgresql postgresql-contrib libpq-dev 然后bundle