Windows 'require' is case independent
require may cause one file to load in more than once if user accidentally spells the wrong name of a gem.
I think this is because that Windows file systems are case-insensitive.
See the code below.
require 'yard' # => true require 'Yard' # => true # => warning: already initialized constant YARD::ROOT.... # => warning: already initialized constant ... # => warning: already initialized constant ...
These warnings may notify the user something went wrong. But what if a gem loaded twice doesn't cause constant redefined, instead, it did something related to persistence? The user may get weird and unexpected behaviours without knowing this. It's hard to find and debug.
And some gem's name is not always in lowercase, this will make user on Windows more likely to go wrong,
# The standard gem 'English' s first letter is in upper case require 'English' # => true
I think this issue may have come under observation before, but may be considered unnecessary to fix?