mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Currently we get the following warnings on `ruby setup.rb`: ``` /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/exceptions.rb:281: warning: already initialized constant Gem::UnsatisfiableDepedencyError /home/deivid/Code/rubygems/lib/rubygems/exceptions.rb:281: warning: previous definition of UnsatisfiableDepedencyError was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/user_interaction.rb:557: warning: already initialized constant Gem::StreamUI::ThreadedDownloadReporter::MUTEX /home/deivid/Code/rubygems/lib/rubygems/user_interaction.rb:557: warning: previous definition of MUTEX was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/builder.rb:20: warning: already initialized constant Gem::Ext::Builder::CHDIR_MUTEX /home/deivid/Code/rubygems/lib/rubygems/ext/builder.rb:20: warning: previous definition of CHDIR_MUTEX was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/ext/ext_conf_builder.rb:14: warning: already initialized constant Gem::Ext::ExtConfBuilder::FileEntry /home/deivid/Code/rubygems/lib/rubygems/ext/ext_conf_builder.rb:14: warning: previous definition of FileEntry was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:158: warning: already initialized constant Gem::Version::VERSION_PATTERN /home/deivid/Code/rubygems/lib/rubygems/version.rb:158: warning: previous definition of VERSION_PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/version.rb:159: warning: already initialized constant Gem::Version::ANCHORED_VERSION_PATTERN /home/deivid/Code/rubygems/lib/rubygems/version.rb:159: warning: previous definition of ANCHORED_VERSION_PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:14: warning: already initialized constant Gem::Requirement::OPS /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:14: warning: previous definition of OPS was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:24: warning: already initialized constant Gem::Requirement::SOURCE_SET_REQUIREMENT /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:24: warning: previous definition of SOURCE_SET_REQUIREMENT was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:27: warning: already initialized constant Gem::Requirement::PATTERN_RAW /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:27: warning: previous definition of PATTERN_RAW was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:32: warning: already initialized constant Gem::Requirement::PATTERN /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:32: warning: previous definition of PATTERN was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:37: warning: already initialized constant Gem::Requirement::DefaultRequirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:37: warning: previous definition of DefaultRequirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:42: warning: already initialized constant Gem::Requirement::DefaultPrereleaseRequirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:42: warning: previous definition of DefaultPrereleaseRequirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/requirement.rb:311: warning: already initialized constant Gem::Version::Requirement /home/deivid/Code/rubygems/lib/rubygems/requirement.rb:311: warning: previous definition of Requirement was here /home/deivid/.rbenv/versions/2.7.1/lib/ruby/site_ruby/2.7.0/rubygems/command.rb:626: warning: already initialized constant Gem::Command::HELP /home/deivid/Code/rubygems/lib/rubygems/command.rb:626: warning: previous definition of HELP was here Successfully built RubyGem Name: bundler Version: 2.2.0.dev File: bundler-2.2.0.dev.gem Bundler 2.2.0.dev installed RubyGems 3.2.0.pre1 installed Regenerating binstubs Regenerating plugins ------------------------------------------------------------------------------ RubyGems installed the following executables: /home/deivid/.rbenv/versions/2.7.1/bin/gem /home/deivid/.rbenv/versions/2.7.1/bin/bundle ``` This is because the `$LOAD_PATH` entry added by `setup.rb` is relatively and when the offending require happens, we're installing `bundler` and have switched folders to `bundler/`. So the require fallsback to the system rubygems. To avoid that, add an absolute path to the `$LOAD_PATH`. On jruby, somehow the $LOAD_PATH is manipulated so that we end up requiring stuff inside the built package even if we have specified the `-I` flag, so we get redefinition warnings anyways. I'm not sure about the root cause, but relative requiring fixes it, and it's faster anyways. |
||
|---|---|---|
| .. | ||
| benchmark | ||
| bundler | ||
| cgi | ||
| csv | ||
| delegate | ||
| did_you_mean | ||
| drb | ||
| forwardable | ||
| getoptlong | ||
| irb | ||
| logger | ||
| matrix | ||
| net | ||
| observer | ||
| open3 | ||
| optparse | ||
| ostruct | ||
| pstore | ||
| racc | ||
| rdoc | ||
| reline | ||
| rinda | ||
| rubygems | ||
| singleton | ||
| timeout | ||
| tracer | ||
| unicode_normalize | ||
| uri | ||
| weakref | ||
| webrick | ||
| yaml | ||
| .document | ||
| abbrev.rb | ||
| base64.rb | ||
| benchmark.rb | ||
| bundler.rb | ||
| cgi.rb | ||
| csv.rb | ||
| debug.rb | ||
| delegate.rb | ||
| did_you_mean.rb | ||
| drb.rb | ||
| English.gemspec | ||
| English.rb | ||
| erb.rb | ||
| fileutils.gemspec | ||
| fileutils.rb | ||
| find.rb | ||
| forwardable.rb | ||
| getoptlong.rb | ||
| ipaddr.gemspec | ||
| ipaddr.rb | ||
| irb.rb | ||
| logger.rb | ||
| matrix.rb | ||
| mkmf.rb | ||
| mutex_m.gemspec | ||
| mutex_m.rb | ||
| observer.rb | ||
| open-uri.rb | ||
| open3.rb | ||
| optionparser.rb | ||
| optparse.rb | ||
| ostruct.rb | ||
| pp.rb | ||
| prettyprint.rb | ||
| prime.gemspec | ||
| prime.rb | ||
| pstore.rb | ||
| racc.rb | ||
| rdoc.rb | ||
| readline.gemspec | ||
| readline.rb | ||
| reline.rb | ||
| resolv-replace.rb | ||
| resolv.rb | ||
| rubygems.rb | ||
| securerandom.rb | ||
| set.rb | ||
| shellwords.rb | ||
| singleton.rb | ||
| tempfile.gemspec | ||
| tempfile.rb | ||
| time.rb | ||
| timeout.rb | ||
| tmpdir.gemspec | ||
| tmpdir.rb | ||
| tracer.rb | ||
| tsort.rb | ||
| un.rb | ||
| uri.rb | ||
| weakref.rb | ||
| webrick.rb | ||
| yaml.rb | ||