Type:
Class
Constants:
ENV_PATHS : %w[/usr/bin/env /bin/env]

Paths where env(1) might live. Some systems are broken and have it in /bin

CHDIR_MUTEX : Mutex.new # :nodoc:

The builder shells-out to run various commands after changing the directory. This means multiple installations cannot be allowed to build extensions in parallel as they may change each other's directories leading to broken extensions or failed installations.

The installer installs the files contained in the .gem into the Gem.home.

Gem::Installer does the work of putting files in all the right places on the filesystem including unpacking the gem into its gem dir, installing the gemspec in the specifications dir, storing the cached gem in the cache dir, and installing either wrappers or symlinks for executables.

The installer invokes pre and post install hooks. Hooks can be added either through a rubygems_plugin.rb file in an installed gem or via a rubygems/defaults/#{RUBY_ENGINE}.rb or rubygems/defaults/operating_system.rb file. See Gem.pre_install and Gem.post_install for details.

write_spec
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

write_spec() Instance Public methods Writes the .gemspec specification (in Ruby)

2025-01-10 15:47:30
check_that_user_bin_dir_is_in_path
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

check_that_user_bin_dir_is_in_path() Instance Public methods DOC: Missing docs

2025-01-10 15:47:30
generate_bin_symlink
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

generate_bin_symlink(filename, bindir) Instance Public methods Creates the symlinks

2025-01-10 15:47:30
build_extensions
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

build_extensions() Instance Public methods Builds extensions. Valid types of

2025-01-10 15:47:30
installed_specs
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

installed_specs() Instance Public methods Return an Array of Specifications

2025-01-10 15:47:30
generate_bin_script
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

generate_bin_script(filename, bindir) Instance Public methods Creates the scripts

2025-01-10 15:47:30
extract_files
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

extract_files() Instance Public methods Reads the file index and extracts each

2025-01-10 15:47:30
exec_format
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

exec_format() Class Public methods Defaults to use Ruby's program prefix and

2025-01-10 15:47:30
ensure_required_rubygems_version_met
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

ensure_required_rubygems_version_met() Instance Public methods DOC: Missing

2025-01-10 15:47:30
unpack
  • References/Ruby on Rails/Ruby/Classes/Gem/Gem::Installer

unpack(directory) Instance Public methods Unpacks the gem into the given directory

2025-01-10 15:47:30