Skip to content
On this page

End of Life Ruby 3.0 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

module · Ruby 3.0

Gem

98 class methods

RubyGems is the Ruby standard for publishing and managing third party libraries.

For user documentation, see:

For gem developer documentation see:

Further RubyGems documentation can be found at:

RubyGems Plugins

RubyGems will load plugins in the latest version of each installed gem or $LOAD_PATH. Plugins must be named ‘rubygems_plugin’ (.rb, .so, etc) and placed at the root of your gem’s require_path. Plugins are installed at a special location and loaded on boot.

For an example plugin, see the Graph gem which adds a ‘gem graph` command.

RubyGems Defaults, Packaging

RubyGems defaults are stored in lib/rubygems/defaults.rb. If you’re packaging RubyGems or implementing Ruby you can change RubyGems’ defaults.

For RubyGems packagers, provide lib/rubygems/defaults/operating_system.rb and override any defaults from lib/rubygems/defaults.rb.

For Ruby implementers, provide lib/rubygems/defaults/#{RUBY_ENGINE}.rb and override any defaults from lib/rubygems/defaults.rb.

If you need RubyGems to perform extra work on install or uninstall, your defaults override file can set pre/post install and uninstall hooks. See Gem::pre_install, Gem::pre_uninstall, Gem::post_install, Gem::post_uninstall.

Bugs

You can submit bugs to the RubyGems bug tracker on GitHub

Credits

RubyGems is currently maintained by Eric Hodel.

RubyGems was originally developed at RubyConf 2003 by:

  • Rich Kilmer – rich(at)infoether.com

  • Chad Fowler – chad(at)chadfowler.com

  • David Black – dblack(at)wobblini.net

  • Paul Brannan – paul(at)atdesk.com

  • Jim Weirich – jim(at)weirichhouse.org

Contributors:

  • Gavin Sinclair – gsinclair(at)soyabean.com.au

  • George Marrows – george.marrows(at)ntlworld.com

  • Dick Davies – rasputnik(at)hellooperator.net

  • Mauricio Fernandez – batsman.geo(at)yahoo.com

  • Simon Strandgaard – neoneye(at)adslhome.dk

  • Dave Glasser – glasser(at)mit.edu

  • Paul Duncan – pabs(at)pablotron.org

  • Ville Aine – vaine(at)cs.helsinki.fi

  • Eric Hodel – drbrain(at)segment7.net

  • Daniel Berger – djberg96(at)gmail.com

  • Phil Hagelberg – technomancy(at)gmail.com

  • Ryan Davis – ryand-ruby(at)zenspider.com

  • Evan Phoenix – evan(at)fallingsnow.net

  • Steve Klabnik – steve(at)steveklabnik.com

(If your name is missing, PLEASE let us know!)

License

See LICENSE.txt for permissions.

Thanks!

-The RubyGems Team

Class methods 98

Constants
No documentation available
No documentation available
No documentation available

When bugs.ruby-lang.org/issues/17259 is available, there is no need to override Kernel#warn

No documentation available

Location of Marshal quick gemspecs on remote repositories

Gem::RDoc provides methods to generate RDoc and ri data for installed gems upon gem installation.

This file is automatically required by RubyGems 1.9 and newer.

Exception classes used in a Gem.read_binary rescue statement

Subdirectories in a gem repository for default gems

Subdirectories in a gem repository

No documentation available

Backwards compatible typo’d exception class for early RubyGems 2.0.x

Taint support is deprecated in Ruby 2.7. This allows switching “.untaint” to “.tap(&Gem::UNTAINT)”, to avoid deprecation warnings in Ruby 2.7.

No documentation available

An Array of Regexps that match windows Ruby platforms.

Exception classes used in Gem.write_binary rescue statement

Attributes

RubyGems distributors (like operating system package managers) can disable RubyGems update by setting this to error message printed to end-users on gem update –system instead of actual update.

The list of hooks to be run after Gem::DependencyInstaller installs a set of gems

Read

GemDependencyAPI object, which is set when .use_gemdeps is called. This contains all the information from the Gemfile.

Hash of loaded Gem::Specification keyed by name

The list of hooks to be run after Gem::Installer#install extracts files and builds extensions

The list of hooks to be run after Gem::Installer#install completes installation

The list of hooks to be run after Gem::Specification.reset is run.

The list of hooks to be run after Gem::Uninstaller#uninstall completes installation

The list of hooks to be run before Gem::Installer#install does any work

The list of hooks to be run before Gem::Specification.reset is run.

The list of hooks to be run before Gem::Uninstaller#uninstall does any work