これで、Ruby ライブラリが作成されました。
rubygem をどのように作成して公開しますか? また、rubygem の作成と公開に関してよくある落とし穴や落とし穴にはどのようなものがありますか?
独自の gem を作成するのに役立つツールがいくつかあります。hoeとnewgemが最もよく知られており、多くの優れた品質を備えています。ただし、hoe は gem への依存関係として追加され、newgem は非常に大きなツールになり、gem をすばやく作成してデプロイしたい場合には扱いにくくなります。
私のお気に入りのツールは、Tim Peaseの Mr Bonesです。軽量で機能が豊富で、プロジェクトに依存関係を追加しません。bones <my_project_name>それを使用してプロジェクトを作成するには、コマンド ラインで実行するだけでlib、コード用のbinディレクトリ、ツール用のディレクトリ、およびテスト ディレクトリを備えたスケルトンが構築されます。構成は にありRakefile、明確かつ簡潔です。数か月前に行ったプロジェクトの構成は次のとおりです。
load 'tasks/setup.rb'
ensure_in_path 'lib'
require 'friend-feed'
task :default => 'test'
PROJ.name = 'friend-feed'
PROJ.authors = 'Clinton R. Nixon'
PROJ.email = 'crnixon@gmail.com'
PROJ.url = 'friend-feed.rubyforge.org'
PROJ.rubyforge_name = 'friend-feed'
PROJ.dependencies = ['json']
PROJ.version = FriendFeed::VERSION
PROJ.exclude = %w(.git pkg)
Mr Bones には、あなたが期待する標準的な機能セットがあります。これを使用して、ライブラリの gem と tarfile をパッケージ化したり、RubyForge でリリースしてそこにドキュメントをデプロイしたりできます。ただし、そのキラー機能は、ホーム ディレクトリでスケルトンをフリーズする機能です。を実行するbones --freezeと、 という名前のディレクトリ.mrbonesがホーム ディレクトリにコピーされます。そこにあるファイルを編集して、自分のやり方で動作する gem のスケルトンを作成できます。それ以降、ボーンを実行して新しい gem を作成すると、個人の gem スケルトンが使用されます。実行bones --unfreezeして Mr Bones を解凍すると、スケルトンがバックアップされ、デフォルトのスケルトンが再び使用されます。
(編集者注: 私はこれについて数か月前にブログ記事を書きました。この記事のほとんどはそこからコピーされています。)
特にオープンソースプロジェクトの場合は、開始する場所としてgithubをお勧めします。
そして、グーグル検索も試してみてください...私にとって最初の検索結果...
また、宝石の作成プロセスを自動化できるHoegemをチェックアウトすることもできます。
参照: http: //nubyonrails.com/articles/tutorial-publishing-rubygems-with-hoe
hoe は rubygems 1.2 から依存関係として追加されなくなりました。その rake タスクは、rubyforge への rubygem のデプロイに焦点を当てています。github から gem を提供したいだけなら、役立ついくつかの新しい鍬風のレーキ タスク ツールがあると思います。