RubyGemsパッケージを作ってrubygems.orgに登録してみた

作ったことなかったのでやってみました。

環境

OS Mac OS X 10.6.6
Ruby ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9]
RubyGems 1.5.2
gemcutter 0.6.1

サンプルGemを作る

こちらを参考に作成します。gemの名前は japanrock_sample とします。

ディレクトリ・ファイルを作る

mkdir japanrock_sample
mkdir japanrock_sample/lib
mkdir japanrock_sample/test
touch japanrock_sample/lib/japanrock_sample.rb
touch japanrock_sample/README.rdoc
touch japanrock_sample/CHANGELOG
touch japanrock_sample/MIT-LICENSE
touch japanrock_sample/japanrock_sample.gemspec

gemspecの記述

japanrock_sample.gemspec に下記を記述します。

Gem::Specification.new do |s|
  s.name              = "japanrock_sample"
  s.version           = "1.0.0"
  s.summary           = "japanrock sample"
  s.description       = "japanrock sample"
  s.author            = "japanrock"
  s.email             = "japanrock@gmail.com"
  s.homepage          = "http://github.com/japanrock/japanrock_sample"
  s.has_rdoc          = true
  s.files             = [ "lib/japanrock_sample.rb", "MIT-LICENSE", "README.rdoc" ]
end

lib/japanrock_sample.rb の記述

installして何も出来ないのも寂しいので、lib/japanrock_sample.rb にも少し書きましょう。

class JapanrockSample
  def hoge
    "japanrock sample!"
  end
end

README.rdoc の記述

下記のように記述しました。

= INSTALL

 gem install japanrock_sample

= Usage

 japanrock_sample = JapanrockSample.new
 japanrock_sample.hoge

= DESCRIPTION

 japanrock sample

= Further Reading

 http://d.hatena.ne.jp/japanrock_pg

MIT-LICENSE の記述

下記のように記述しました。

Copyright (c) 2011 japanrock

gemをbuildする

gem build japanrock_sample.gemspec を実行します。

% gem build japanrock_sample.gemspec
WARNING:  description and summary are identical
  Successfully built RubyGem
  Name: japanrock_sample
  Version: 1.0.0
  File: japanrock_sample-1.0.0.gem

そうすると、japanrock_sample-1.0.0.gem というファイルが出来ます。

rubygems.orgに公開する

まず、 gemcutter をインストールします。

% sudo gem install gemcutter

pushします。push する前に、RubyGems.org のアカウントが必要ですので、持っていない人は、http://rubygems.org/sign_up から作成してください。

% gem push japanrock_sample-1.0.0.gem
Enter your RubyGems.org credentials.
Don't have an account yet? Create one at http://rubygems.org/sign_up
   Email:   (自分のEmail)
Password:  
Signed in.
Pushing gem to RubyGems.org...
Successfully registered gem: japanrock_sample (1.0.0)

これで、登録できました。rubygems.orgの管理画面で見てみると確認できます。

インストールして使ってみる

インストール

% sudo gem install japanrock_sample
Successfully installed japanrock_sample-1.0.0
1 gem installed
Installing ri documentation for japanrock_sample-1.0.0...
Installing RDoc documentation for japanrock_sample-1.0.0...

確認

% gem list japanrock_sample

*** LOCAL GEMS ***

japanrock_sample (1.0.0)

使ってみます

% irb -rubygems
irb(main):001:0> require 'japanrock_sample'
=> true
irb(main):002:0> japanrock_sample = JapanrockSample.new
=> #<JapanrockSample:0x6ec738>
irb(main):003:0> japanrock_sample.hoge
=> "japanrock sample!"

ちゃんと使えました。