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.

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