instance method
Gem::Commands::SetupCommand#execute
execute
lib/rubygems/commands/setup_command.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/rubygems/commands/setup_command.rb, line 139
def execute
@verbose = Gem.configuration.really_verbose
require "fileutils"
if Gem.configuration.really_verbose
extend FileUtils::Verbose
else
extend FileUtils
end
extend MakeDirs
lib_dir, bin_dir = make_destination_dirs
man_dir = generate_default_man_dir
install_lib lib_dir
install_executables bin_dir
remove_old_bin_files bin_dir
remove_old_lib_files lib_dir
# Can be removed one we drop support for bundler 2.2.3 (the last version installing man files to man_dir)
remove_old_man_files man_dir if man_dir && File.exist?(man_dir)
install_default_bundler_gem bin_dir
if mode = options[:dir_mode]
@mkdirs.uniq!
File.chmod(mode, @mkdirs)
end
say "RubyGems #{Gem::VERSION} installed"
regenerate_binstubs(bin_dir) if options[:regenerate_binstubs]
regenerate_plugins(bin_dir) if options[:regenerate_plugins]
uninstall_old_gemcutter
documentation_success = install_rdoc
say
if @verbose
say "-" * 78
say
end
if options[:previous_version].empty?
options[:previous_version] = Gem::VERSION.sub(/[0-9]+$/, "0")
end
options[:previous_version] = Gem::Version.new(options[:previous_version])
show_release_notes
say
say "-" * 78
say
say "RubyGems installed the following executables:"
say bin_file_names.map {|name| "\t#{name}\n" }
say
unless bin_file_names.grep(/#{File::SEPARATOR}gem$/)
say "If `gem` was installed by a previous RubyGems installation, you may need"
say "to remove it by hand."
say
end
if documentation_success
if options[:document].include? "rdoc"
say "Rdoc documentation was installed. You may now invoke:"
say " gem server"
say "and then peruse beautifully formatted documentation for your gems"
say "with your web browser."
say "If you do not wish to install this documentation in the future, use the"
say "--no-document flag, or set it as the default in your ~/.gemrc file. See"
say "'gem help env' for details."
say
end
if options[:document].include? "ri"
say "Ruby Interactive (ri) documentation was installed. ri is kind of like man "
say "pages for Ruby libraries. You may access it like this:"
say " ri Classname"
say " ri Classname.class_method"
say " ri Classname#instance_method"
say "If you do not wish to install this documentation in the future, use the"
say "--no-document flag, or set it as the default in your ~/.gemrc file. See"
say "'gem help env' for details."
say
end
end
end
No documentation available
See also
#default_dir
#files_in
#bin_file_names
#generate_default_dirs
also in
4.1 · 3.4 · 3.3 · 3.2 · 3.1 · 3.0