问题
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.
Where do I find the mkmf.log file?
回答1:
The mkmf.log file can be found under the gem's installation directory.
rvm
If you are using RVM, then look for a directory similar to
~/.rvm/gems/ruby-1.9.3-p194/gems/some-cool-gem-name/ext/mkmf.log
You can list all the mkmf.log files available with this command:
find ~/.rvm -name mkmf.log
rbenv
find ~/.rbenv -name mkmf.log
回答2:
Windows solution
As @givanse said, the mkmf logs are in the gem installation directory. Because that can be complicated, you should just search for the mkmf file. You can do that in Windows explorer or in PowerShell
cd C:\Dev\Ruby22 # Change to reflect your Ruby install dir
Get-ChildItem mkmf* -Recurse
回答3:
find $GEM_HOME -name mkmf.log
or
$GEM_HOME/extensions/$arch/$ruby_version-static/$gem_name-$gem_version/mkmf.log
chruby
, ruby-2.6.3
:
GEM_HOME: /home/yuri/.gem/ruby/2.6.3
arch: x86_64-linux
ruby_version: 2.6.0
gem_name: openssl
gem_version: 2.0.0
/home/yuri/.gem/ruby/2.6.3/extensions/x86_64-linux/2.6.0-static/openssl-2.0.0/mkmf.log
rvm
, ruby-2.6.3
:
GEM_HOME: /home/yuri/.rvm/gems/ruby-2.6.3
arch: x86_64-linux
ruby_version: 2.6.0
gem_name: nokogiri
gem_version: 1.10.3
/home/yuri/.gem/ruby/2.6.3/extensions/x86_64-linux/2.6.0-static/nokogiri-1.10.3/mkmf.log
来源:https://stackoverflow.com/questions/20379274/when-a-gem-fails-where-do-i-find-the-mkmf-log-file