1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/yaml] Add JRuby-specific warning when psych fails

The error here is confusing for users because JRuby does not use
libyaml and installing it will not help. Instead, JRuby directs
them to a wiki page that describes an issue when multiple
conflicting versions of SnakeYAML are installed.

This change allows us to use the yaml gem and delete our local
sources.

https://github.com/ruby/yaml/commit/8122087ffb
This commit is contained in:
Charles Oliver Nutter 2022-01-26 23:29:17 -06:00 committed by git
parent e89d80702b
commit f511ff3b3a

View file

@ -3,9 +3,17 @@
begin begin
require 'psych' require 'psych'
rescue LoadError rescue LoadError
warn "It seems your ruby installation is missing psych (for YAML output).\n" \ case RUBY_ENGINE
"To eliminate this warning, please install libyaml and reinstall your ruby.\n", when 'jruby'
uplevel: 1 warn "The Psych YAML extension failed to load.\n" \
"Check your env for conflicting versions of SnakeYAML\n" \
"See https://github.com/jruby/jruby/wiki/FAQs#why-does-the-psych-yaml-extension-fail-to-load-in-my-environment",
uplevel: 1
else
warn "It seems your ruby installation is missing psych (for YAML output).\n" \
"To eliminate this warning, please install libyaml and reinstall your ruby.\n",
uplevel: 1
end
raise raise
end end