- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125 (0)
- 1_9_3_392 (5)
- 2_1_10 (-38)
- 2_2_9 (1)
- 2_4_6 (17)
- 2_5_5 (-9)
- 2_6_3 (0)
- What's this?
RubyGems is the Ruby standard for publishing and managing third party libraries.
For user documentation, see:
-
gem help and gem help [command]
For gem developer documentation see:
-
Gem::Version for version dependency notes
Further RubyGems documentation can be found at:
-
RubyGems API (also available from gem server)
RubyGems Plugins
As of RubyGems 1.3.2, RubyGems will load plugins installed in gems 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 discovered via Gem::find_files and then loaded.
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
frozen_string_literal: true
frozen_string_literal: true
frozen_string_literal: true
frozen_string_literal: true
Constants
RDoc = ::RDoc::RubygemsHook
DEFAULT_HOST = "https://rubygems.org"
MARSHAL_SPEC_DIR = "quick/Marshal.#{Gem.marshal_version}/"
LOADED_SPECS_MUTEX = Mutex.new
USE_BUNDLER_FOR_GEMDEPS = false
WRITE_BINARY_ERRORS = begin write_binary_errors = [Errno::ENOSYS] write_binary_errors << Errno::ENOTSUP if Errno.const_defined?(:ENOTSUP) write_binary_errors end.freeze
READ_BINARY_ERRORS = begin read_binary_errors = [Errno::EACCES, Errno::EROFS, Errno::ENOSYS] read_binary_errors << Errno::ENOTSUP if Errno.const_defined?(:ENOTSUP) read_binary_errors end.freeze
REPOSITORY_DEFAULT_GEM_SUBDIRECTORIES = %w[ gems specifications/default ]
REPOSITORY_SUBDIRECTORIES = %w[ build_info cache doc extensions gems specifications ]
GEM_DEP_FILES = %w[ gem.deps.rb gems.rb Gemfile Isolate ]
WIN_PATTERNS = [ /bccwin/i, /cygwin/i, /djgpp/i, /mingw/i, /mswin/i, /wince/i, ]
RUBYGEMS_DIR = File.dirname File.expand_path(__FILE__)
VERSION = "2.7.6.2"
Attributes
[R] | pre_uninstall_hooks |
The list of hooks to be run before Gem::Uninstaller#uninstall does any work |
[R] | pre_reset_hooks |
The list of hooks to be run before Gem::Specification.reset is run. |
[R] | pre_install_hooks |
The list of hooks to be run before Gem::Installer#install does any work |
[R] | post_uninstall_hooks |
The list of hooks to be run after Gem::Uninstaller#uninstall completes installation |
[R] | post_reset_hooks |
The list of hooks to be run after Gem::Specification.reset is run. |
[R] | done_installing_hooks |
The list of hooks to be run after Gem::DependencyInstaller installs a set of gems |
[R] | post_install_hooks |
The list of hooks to be run after Gem::Installer#install completes installation |
[R] | post_build_hooks |
The list of hooks to be run after Gem::Installer#install extracts files and builds extensions |
[R] | gemdeps |
GemDependencyAPI object, which is set when .use_gemdeps is called. This contains all the information from the Gemfile. |
[R] | loaded_specs |
Hash of loaded Gem::Specification keyed by name |