Postgres gem не устанавливается - PullRequest
0 голосов
/ 23 мая 2018

У меня есть postgres 10.4 на моей Mac OS X High Sierra и Rails 5.2, однако, когда я пытаюсь установить pg gem, я получаю ошибку сборки гема.Он говорит, что не может собрать гем, несмотря на успешное подтверждение pg_config.Я надеялся, что кто-то может посмотреть на ошибку и указать мне правильное направление?

cdougherty1242m% gem install pg
Building native extensions. This could take a while...
ERROR:  Error installing pg:
ERROR: Failed to build gem native extension.

current directory: /Users/cdougherty/.rvm/gems/jruby-9.1.13.0/gems/pg-1.0.0/ext
/Users/cdougherty/.rvm/rubies/jruby-9.1.13.0/bin/jruby -r ./siteconf20180523-76754-a2cdps.rb extconf.rb
checking for pg_config... yes
Using config values from /usr/local/bin/pg_config
RuntimeError: The compiler failed to generate an executable file.
You have to install development tools first.

 try_do at /Users/cdougherty/.rvm/rubies/jruby-9.1.13.0/lib/ruby/stdlib/mkmf.rb:456
  try_link0 at /Users/cdougherty/.rvm/rubies/jruby-9.1.13.0/lib/ruby/stdlib/mkmf.rb:541
   try_link at /Users/cdougherty/.rvm/rubies/jruby-9.1.13.0/lib/ruby/stdlib/mkmf.rb:556
 <main> at extconf.rb:40
*** 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.

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/Users/cdougherty/.rvm/gems/jruby-9.1.13.0/extensions/universal-java-1.8/2.3.0/pg-1.0.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Users/cdougherty/.rvm/gems/jruby-9.1.13.0/gems/pg-1.0.0 for inspection.
Results logged to /Users/cdougherty/.rvm/gems/jruby-9.1.13.0/extensions/universal-java-1.8/2.3.0/pg-1.0.0/gem_make.out

Вот кот из журнала mfmk, если это поможет.

find_executable: checking for pg_config... -------------------- yes

" -o conftest -I/include/universal-java1.8 -I/Users/cdougherty/.rvm/rubies/jruby-9.1.13.0/lib/ruby/include/ruby/backward -I/Users/cdougherty/.rvm/rubies/jruby-9.1.13.0/lib/ruby/include -I. -I/usr/local/Cellar/postgresql/10.4/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE     -fPIC -DTARGET_RT_MAC_CFM=0  -fno-omit-frame-pointer -fno-strict-aliasing  -fexceptions  conftest.c  -L. -L/Users/cdougherty/.rvm/rubies/jruby-9.1.13.0/lib -L/usr/local/lib    -arch x86_64      "

checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <ruby.h>
4: int main(int argc, char **argv)
5: {
6:   return 0;
7: }
/* end */

1 Ответ

0 голосов
/ 25 мая 2018

вы действительно не можете установить какие-либо собственные гемы C на JRuby.

обычно есть версии для конкретной платформы (отдельные выпуски гемов с одинаковым именем), например, если вы отметите nokogiri , вы увидите несколько 1.8.2 версии.

для pg не существует релиза для платформы Java (еще в 1.0.0 - возможно, в будущем).

способ запуска Railsс JRuby использовалось gem 'activerecord-jdbc-adapter'

, но, пожалуйста, обратите внимание, что 5.2 не поддерживается atm - может быть, некоторые работы с master

...