Gem installer command line tool
See `gem help install`
# 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
# 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.
Generated with the Darkfish Rdoc Generator 1.1.6.