Skip to content

拡張ライブラリをgem化してみる

mechamogera edited this page Oct 6, 2012 · 3 revisions

試してみた環境

  • ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
  • bundler (1.0.21 ruby)

gem化手順

  1. gemのベース作成
 $ bundle gem hoge
  1. 拡張ライブラリの準備
 $ mkdir hoge/ext
 $ git clone git://gist.github.com/3838813.git
 $ cp 3838813/* hoge/ext
  1. extのgitへの追加
  • 作成されたhoge.gemspecでgemに入れるファイルとして「git ls-files」の結果を用いているため
 $ cd hoge
 $ git add ext
  1. hello.gemspecの編集
@@ -11,2 +11,3 @@
-  s.summary     = %q{TODO: Write a gem summary}
-  s.description = %q{TODO: Write a gem description}
+  s.summary     = %q{Write a gem summary}
+  s.description = %q{Write a gem description}
+  s.extensions = ["ext/extconf.rb"]
@@ -19 +20 @@
-  s.require_paths = ["lib"]
+  s.require_paths = ["ext", "lib"]
  1. lib/hoge.rbの編集
@@ -1,0 +2 @@
+require 'hello'
  1. gemのビルドとインストール
 $ rake build
 $ gem install pkg/hoge*
  1. サンプルスクリプトの実行 => OK
require 'rubygems'
require 'hoge'

Hello.new.say_hello
# => hello
Clone this wiki locally