class Gem::Commands::InstallCommand
Gem installer command line tool
See `gem help install`
Public Class Methods
new()
click to toggle source
Calls superclass method
Gem::Command.new
# File lib/rubygems/commands/install_command.rb, line 21 def initialize defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({ :format_executable => false, :lock => true, :suggest_alternate => true, :version => Gem::Requirement.default, :without_groups => [], }) super 'install', 'Install a gem into the local repository', defaults add_install_update_options add_local_remote_options add_platform_option add_version_option add_prerelease_option "to be installed. (Only for listed gems)" add_option(:"Install/Update", '-g', '--file [FILE]', 'Read from a gem dependencies API file and', 'install the listed gems') do |v,o| v = Gem::GEM_DEP_FILES.find do |file| File.exist? file end unless v unless v then message = v ? v : "(tried #{Gem::GEM_DEP_FILES.join ', '})" raise OptionParser::InvalidArgument, "cannot find gem dependencies file #{message}" end o[:gemdeps] = v end add_option(:"Install/Update", '--without GROUPS', Array, 'Omit the named groups (comma separated)', 'when installing from a gem dependencies', 'file') do |v,o| o[:without_groups].concat v.map { |without| without.intern } end add_option(:"Install/Update", '--default', 'Add the gem\s full specification to', 'specifications/default and extract only its bin') do |v,o| o[:install_as_default] = v end add_option(:"Install/Update", '--explain', 'Rather than install the gems, indicate which would', 'be installed') do |v,o| o[:explain] = v end add_option(:"Install/Update", '--[no-]lock', 'Create a lock file (when used with -g/--file)') do |v,o| o[:lock] = v end add_option(:"Install/Update", '--[no-]suggestions', 'Suggest alternates when gems are not found') do |v,o| o[:suggest_alternate] = v end @installed_specs = [] end
Public Instance Methods
execute()
click to toggle source
# File lib/rubygems/commands/install_command.rb, line 187 def execute if options.include? :gemdeps then install_from_gemdeps return # not reached end @installed_specs = [] ENV.delete 'GEM_PATH' if options[:install_dir].nil? and RUBY_VERSION > '1.9' check_install_dir check_version load_hooks exit_code = install_gems show_installed terminate_interaction exit_code end