Parent

Methods

Class Index [+]

Quicksearch

Gem::Commands::InstallCommand

Gem installer command line tool

See `gem help install`

Public Class Methods

new() click to toggle source
    # File lib/rubygems/commands/install_command.rb, line 20
20:   def initialize
21:     defaults = Gem::DependencyInstaller::DEFAULT_OPTIONS.merge({
22:       :generate_rdoc     => true,
23:       :generate_ri       => true,
24:       :format_executable => false,
25:       :version           => Gem::Requirement.default,
26:     })
27: 
28:     super 'install', 'Install a gem into the local repository', defaults
29: 
30:     add_install_update_options
31:     add_local_remote_options
32:     add_platform_option
33:     add_version_option
34:     add_prerelease_option "to be installed. (Only for listed gems)"
35:   end

Public Instance Methods

execute() click to toggle source
     # File lib/rubygems/commands/install_command.rb, line 103
103:   def execute
104:     if options[:include_dependencies] then
105:       alert "`gem install -y` is now default and will be removed"
106:       alert "use --ignore-dependencies to install only the gems you list"
107:     end
108: 
109:     installed_gems = []
110: 
111:     ENV.delete 'GEM_PATH' if options[:install_dir].nil? and RUBY_VERSION > '1.9'
112: 
113:     exit_code = 0
114: 
115:     get_all_gem_names.each do |gem_name|
116:       begin
117:         next if options[:conservative] and
118:           not Gem::Dependency.new(gem_name, options[:version]).matching_specs.empty?
119: 
120:         inst = Gem::DependencyInstaller.new options
121:         inst.install gem_name, options[:version]
122: 
123:         inst.installed_gems.each do |spec|
124:           say "Successfully installed #{spec.full_name}"
125:         end
126: 
127:         installed_gems.push(*inst.installed_gems)
128:       rescue Gem::InstallError => e
129:         alert_error "Error installing #{gem_name}:\n\t#{e.message}"
130:         exit_code |= 1
131:       rescue Gem::GemNotFoundException => e
132:         show_lookup_failure e.name, e.version, e.errors, options[:domain]
133: 
134:         exit_code |= 2
135:       end
136:     end
137: 
138:     unless installed_gems.empty? then
139:       gems = installed_gems.length == 1 ? 'gem' : 'gems'
140:       say "#{installed_gems.length} #{gems} installed"
141: 
142:       # NOTE: *All* of the RI documents must be generated first.  For some
143:       # reason, RI docs cannot be generated after any RDoc documents are
144:       # generated.
145: 
146:       if options[:generate_ri] then
147:         installed_gems.each do |gem|
148:           Gem::DocManager.new(gem, options[:rdoc_args]).generate_ri
149:         end
150: 
151:         Gem::DocManager.update_ri_cache
152:       end
153: 
154:       if options[:generate_rdoc] then
155:         installed_gems.each do |gem|
156:           Gem::DocManager.new(gem, options[:rdoc_args]).generate_rdoc
157:         end
158:       end
159:     end
160: 
161:     raise Gem::SystemExitException, exit_code
162:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.