私はルビーの宝石に期待するものを作成しています。単純なライブラリまたはプラグインをgemに変換するためのチュートリアルへの良いリンクを持っている人はいますか?また、特に、Rubyがgemを見つけるためにrequireを許可するために使用するプロセスは何ですか?これは、ファイルをgemパスに配置する以上のことのようです(または私の構成が台無しになっていますか?)。
ありがとう
実際、これを手動で行うのはそれほど難しくありません。whatever.rbgem として配布したいライブラリがあるとします。
libのコピーを置きます。whatever.rblib/whatever.rbwhatever.gemspec、そこに次を入れて、適切な値を入力します。
Gem::Specification.new do |spec|
spec.name = 'the-name-of-your-gem'
spec.version ='0.0.1'
# this is important - it specifies which files to include in the gem.
spec.files = ["lib/whatever.rb"]
# optional, but useful to your users
spec.summary = "A more longwinded description of your gem"
spec.author = 'Your Name'
spec.email = 'you@yourdomain.com'
spec.homepage = 'http://www.yourpage.com'
# you did document with RDoc, right?
spec.has_rdoc = true
# if you have a ruby forge project
spec.rubyforge_project = 'your-project-name-on-rubyforge'
# if you have any dependencies on other gems, list them thusly
spec.add_dependency('hpricot')
spec.add_dependency('log4r', '>= 1.0.5')
end
gem buildコマンドを使用します。% gemビルドwhatever.gemspec RubyGem のビルドに成功 名前: あなたの宝石の名前 バージョン: 0.0.1 ファイル: the-name-of-your-gem-0.0.1.gem %
gem install the-name-of-your-gem-0.0.1.gem
ます。上部で次の操作を行うだけです。
require 'rubygems' # puts gem libraries in the require path
require 'whatever' # loads your library
gemspecファイル内のさまざまな設定の詳細については、 GemSpec リファレンスを確認してください。
個人的には、実行可能なスクリプトのパッケージ化にも rubygems をよく使用しますが、非常に便利だと思います。
ここには、 newgemを使用した Dr Nic からの古いものがあります。それはおそらく今では少し時代遅れです。
もう少し最近では、上記に基づいているように見える gemify が入手できます。これについての投稿はこちら
パスに関する限り、実行gem install <some-useful-stuff>して必要なコードが実行されるrequire 'rubygems'か、 RUBYOPT=-rubygems を設定すると (それは Windows のみですか?よくわかりません)、その後の実行でrequireも gems ディレクトリが検索されます。適切なライブラリ。
バージョン番号を指定できるようにする、より明示的な (ただし非推奨の)require_gemコマンドもあります。gem
ruby gem を構築するには、 newgemやjewelerを見たいと思うかもしれません。