简体   繁体   中英

ERROR: Error installing psych: ERROR: Failed to build gem native extension

I am trying to update psych to 5.0.0, but I get the following error message:

Updating psych
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR:  Error installing psych:
        ERROR: Failed to build gem native extension.

    current directory: C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/psych-5.0.0/ext/psych
C:/Ruby31-x64/bin/ruby.exe -I C:/Ruby31-x64/lib/ruby/site_ruby/3.1.0 extconf.rb
checking for yaml.h... no
yaml.h not found
*** 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:
.
.
.

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

  C:/Ruby31-x64/lib/ruby/gems/3.1.0/extensions/x64-mingw-ucrt/3.1.0/psych-5.0.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in C:/Ruby31-x64/lib/ruby/gems/3.1.0/gems/psych-5.0.0 for inspection.
Results logged to C:/Ruby31-x64/lib/ruby/gems/3.1.0/extensions/x64-mingw-ucrt/3.1.0/psych-5.0.0/gem_make.out

Tried gem update , gem pristine --all , same error.

Any tips how to fix this in Windows?

Thank you!

You need to install libyaml via pacman -S mingw-w64-ucrt-x86_64-libyaml in the command prompt with ruby

Not sure how it was fixed but I ran gem update and psych was updated to 5.0.2 without an error.

I had a similar problem on Mac running OSX 13.2. Bundle install failed because it couldn't find yaml.h.

Since I was on Mac and running Homebrew, I did a

brew install libyaml

and then re-ran bundle install. It worked correctly.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM