requires=rubygems.defaults,rubygems.exceptions,rubygems.version,rubygems,rubygems.requirement,rubygems.dependency,rubygems.gem_path_searcher,rubygems.source_index,rubygems.user_interaction,rubygems.specification,rubygems.platform,rubygems.spec_fetcher,rubygems.remote_fetcher,rubygems.digest.sha2,rubygems.source_info_cache,rubygems.source_info_cache_entry,rubygems.builder,rubygems.defaults.operating_system
classes=Gem,Gem=LoadError,Gem=QuickLoader
methods=Kernel/i.gem.rubygems
sublibraries=rubygems.gem_runner,rubygems.defaults,rubygems.exceptions,rubygems.version,rubygems.requirement,rubygems.dependency,rubygems.gem_path_searcher,rubygems.source_index,rubygems.platform,rubygems.builder,rubygems.defaults.operating_system,rubygems.gem_runner,rubygems.command,rubygems.user_interaction,rubygems.command_manager,rubygems.commands.build_command,rubygems.commands.cert_command,rubygems.commands.check_command,rubygems.commands.cleanup_command,rubygems.commands.contents_command,rubygems.commands.dependency_command,rubygems.commands.environment_command,rubygems.commands.fetch_command,rubygems.commands.generate_index_command,rubygems.commands.help_command,rubygems.commands.install_command,rubygems.commands.list_command,rubygems.commands.lock_command,rubygems.commands.mirror_command,rubygems.commands.outdated_command,rubygems.commands.pristine_command,rubygems.commands.query_command,rubygems.commands.rdoc_command,rubygems.commands.search_command,rubygems.commands.server_command,rubygems.commands.sources_command,rubygems.commands.specification_command,rubygems.commands.stale_command,rubygems.commands.uninstall_command,rubygems.commands.unpack_command,rubygems.commands.update_command,rubygems.commands.which_command,rubygems.security,rubygems.version_option,rubygems.validator,rubygems.dependency_list,rubygems.local_remote_options,rubygems.source_info_cache,rubygems.indexer,rubygems.doc_manager,rubygems.install_update_options,rubygems.dependency_installer,rubygems.spec_fetcher,rubygems.format,rubygems.installer,rubygems.server,rubygems.remote_fetcher,rubygems.uninstaller,rubygems.config_file,rubygems.custom_require,rubygems.digest.digest_adapter,rubygems.digest.md5,rubygems.digest.sha1,rubygems.digest.sha2,rubygems.ext,rubygems.ext.builder,rubygems.ext.configure_builder,rubygems.ext.ext_conf_builder,rubygems.ext.rake_builder,rubygems.package,rubygems.gem_openssl,rubygems.indexer.abstract_index_builder,rubygems.indexer.latest_index_builder,rubygems.indexer.marshal_index_builder,rubygems.indexer.master_index_builder,rubygems.indexer.quick_index_builder,rubygems.require_paths_builder,rubygems.old_format,rubygems.specification,rubygems.package.f_sync_dir,rubygems.package.tar_header,rubygems.package.tar_input,rubygems.package.tar_output,rubygems.package.tar_reader,rubygems.package.tar_reader.entry,rubygems.package.tar_writer,rubygems.source_info_cache_entry,rubygems.test_utilities,rubygems.timer
is_sublibrary=false

RubyGems 򰷤Υ饹⥸塼뤬Ƥ饤֥Ǥ


=== gem ޥɤλȤ

  $ gem help
  
    RubyGems  Ruby ΤιⵡǽʥѥåġǤ
    Ϥ¿ξؤΥݥ󥿤ޤǤŪʥإץåǤ
  
      ˡ:
        gem -h/--help
        gem -v/--version
        gem command [arguments...] [options...]
  
      :
        gem install rake
        gem list --local
        gem build package.gemspec
        gem help install
  
      ˥إ:
        gem help commands            Ƥ 'gem' ޥɤꥹȥåפޤ
        gem help examples            Ĥλˡɽޤ
        gem help platforms           ץåȥե˴ؤɽޤ
        gem help <COMMAND>           COMMAND ˴ؤإפɽޤ
                                       (e.g. 'gem help install')
      ܤ:
        http://rubygems.rubyforge.org

==== Gem ѥå򥤥󥹥ȡ뤹

㤨 rak ( [[url:http://rak.rubyforge.org/]] ) 򥤥󥹥ȡ뤹ˤϡʲΤ줫¹Ԥޤ

  $ gem install rak
  $ sudo gem install rak

ΥС Gem ѥå򥤥󥹥ȡ뤹ˤϰʲΤ褦ˤޤ

  $ gem install rak --version 0.8.1    # С 0.8.1 򥤥󥹥ȡ뤹
  $ gem install rak --version '>= 0.5' # С 0.5 ʾΤΤ򥤥󥹥ȡ뤹

Proxy зͳ Gem ѥå򥤥󥹥ȡ뤹ˤϰʲΤ褦ˤޤ

  $ gem install rak -p http://user:pasword@proxy.example.com/

==== Gem ѥå򥢥󥤥󥹥ȡ뤹

㤨 rak 򥢥󥤥󥹥ȡ뤹ˤϡʲΤ줫¹Ԥޤ

  $ gem uninstall rak
  $ sudo gem uninstall rak

ΥС Gem ѥå򥢥󥤥󥹥ȡ뤹ˤϰʲΤ褦ˤޤ

  $ gem uninstall rak --version 0.8.1

==== Gem ѥå򹹿

󥹥ȡ뤵Ƥ Gem ѥå򹹿ˤϰʲΤ褦ˤޤ

  $ gem update
  $ sudo gem update

 Gem ѥå򹹿ˤϰʲΤ褦ˤޤ

  $ gem update rak

==== Gem ѥåõ

ѥå̾ Gem ѥåõȤǤޤ
'active' Ȥʸѥå̾˴ޤѥåõˤϰʲΤ褦ˤޤ

  $ gem search active       # ǥեȤǤϥ˥󥹥ȡ뤵ƤΤ鸡ޤ
  $ gem search active -r    # -r ץĤݥȥ꤫鸡ޤ
  $ gem search active -r -a # -a ץĤƤΥСɽޤ

ܺ٤ʾǸ query ѤƤ

  $ gem query -n ^rails$ -r # rails ˤ礦ɰפΤ򸡺
  $ gem query -n ^rails -r  # rails ǻϤޤΤ򸡺

ѥåξܺ٤饭ɸ뤳ȤϤǤޤ

==== Gem ѥå

 gemspec ե򸵤ˤ Gem ѥåñ˺뤳ȤǤޤ

  $ gem build <gemspec filename>

Ǿ gemspec ϰʲΤ褦ˤʤޤӥɤ뤿ɬפʺǾ gemspec ʤΤǽ夬Τ
᥿ǡΤߤޤ Gem ѥåǤޤĤηٹɽޤ

  Gem::Specification.new do |s|
    s.name    = 'hello'
    s.version = '0.0.0'
    s.summary = 'hello summary'
  end

Ūʥ饤֥뤿 gemspec 򼨤ޤ
ٹåϤʤ褦ˤĤɲäƤޤ

  Gem::Specification.new do |s|
    s.name              = 'hello'
    s.version           = '0.0.0'
    s.summary           = 'hello summary'
    s.files             = ['lib/hello.rb']
    s.authors           = ['Hello Author']
    s.email             = 'hello_author@example.com'
    s.homepage          = 'http://example.com/hello/'
    s.description       = 'hello description'
    s.rubyforge_project = 'hello'
  end

: name
   Gem ̾ꤷޤ
: version
   Gem ΥСꤷޤ
: summary
   Gem ûꤷޤ
: files
   Gem ˴ޤեΥꥹȤꤷޤ
: authors
   Gem κԤΥꥹȤꤷޤ
: email
   Gem κԤϢ᡼륢ɥ쥹ꤷޤ
: homepage
   Gem Υ֥Ȥ URI ꤷޤ
: description
   Gem Ĺꤷޤ
: rubyforge_project
  Rubyforge ˥ץȤ硢Υץ̾ꤷޤ

¹Բǽʥե (ޥ) ޤ gemspec ϰʲΤ褦ˤʤޤ

  Gem::Specification.new do |s|
    s.name              = 'hello'
    s.version           = '0.0.0'
    s.summary           = 'hello summary'
    s.files             = ['bin/hello', 'lib/hello.rb']
    s.executables       = ['hello']
    s.authors           = ['Hello Author']
    s.email             = 'hello@example.com'
    s.homepage          = 'http://example.com/hello'
    s.rubyforge_project = 'hello'
    s.description       = 'hello description'
  end

饤֥˲ä executables ɲäƤޤ

ޤʲΤ褦 Rakefile ˥ɲä뤳ȤǤޤ

  require 'rake/gempackagetask'
  
  PKG_FILES = FileList[
    'lib/hello.rb',
    'spec/*'
  ]
  spec = Gem::Specification.new do |s|
    s.name             = 'hello'
    s.version          = '0.0.1'
    s.author           = 'Hello Author'
    s.email            = 'hello@example.com
    s.homepage         = 'http://example.com/hello'
    s.platform         = Gem::Platform::RUBY
    s.summary          = 'Hello Gem'
    s.files            = PKG_FILES.to_a
    s.require_path     = 'lib'
    s.has_rdoc         = false
    s.extra_rdoc_files = ['README']
  end
  
  Rake::GemPackageTask.new(spec) do |pkg|
    pkg.gem_spec = spec
  end


@see [[c:Gem::Specification]], [[lib:rake]]

=== gem ޥɤ
  * GEM_HOME Gem Υۡǥ쥯ȥ
  * GEM_PATH Gem Υѥ
  * $HOME/.gemrc

Ķѿ GEM_HOME, GEM_PATH ꤹˤä Gem ޥɤưѹ뤳ȤǤޤ
ޤۡǥ쥯ȥ .gemrc Ȥ YAML եޥåȤǽ񤫤줿ե֤ȤǤ
ưѹ뤳ȤǤޤ

:

  --- 
  :backtrace: false
  :benchmark: false
  :bulk_threshold: 1000
  :sources: 
  - http://gems.rubyforge.org
  :update_sources: true
  :verbose: true
  gemhome: /home/hoge/.gems
  gempath: 
  - /usr/local/lib/ruby/gems/1.9
  gem: --no-rdoc --no-ri


=== 
: Rubyist Magazine - ꡼ ѥåޥͥ  1  RubyGems (1)
  [[url:http://jp.rubyist.net/magazine/?0006-PackageManagement]]
: Rubyist Magazine - ꡼ ѥåޥͥ  2  RubyGems (2)
  [[url:http://jp.rubyist.net/magazine/?0010-PackageManagement]]
