1

github にある (まだ Ruby Gems にプッシュされていない) gem を指している Rails アプリケーションがあり、まだバージョン管理されていないため、bundle を実行すると次のようになります。

 gem (0.0.0) from git@github.com:company/gem.git (at master)

私は宝石の変更に取り組んでおり、バージョン管理を開始したいと考えています。マスターにプッシュしたときに、以前の宝石に依存する Rails アプリケーションの機能が損なわれないようにするためです。私は gem に下位互換性を持たせるほど洗練されていないので、この問題を処理するにはバージョン管理が最善の方法だと考えていました。

この gem のバージョン管理を開始する方法についてアドバイスを求めています。gemspec を 0.0.1 に変更してから、Rails アプリケーションの gemfile をそれを指すように変更するだけですか?

4

1 に答える 1

2

セマンティック バージョニングに従って0.1.0、下位互換性のない更新の場合は MAJOR バージョンから開始してインクリメントする必要があります。新機能を導入するだけで下位互換性がある場合は MINOR バージョン、バグ修正などの場合は TINY バージョンです。 .

つまり、GitHub のみでホストしている場合は、gemspec のバージョンを好みに合わせて変更し、そのコミットにタグを追加するだけです。タグを追加すると、他のバージョンに移動した後で、GitHub で正しいバージョンを簡単に見つけることができます。たとえば、Bundler を使用している場合、Gemfile エントリは次のようになります。

gem 'your-gem', git: 'git://github.com/your-repo/your-gem.git', tag: 'v0.1.0'

次の (長い) コマンド セットを使用して、バンドラーなしでこれを行うこともできます。

git clone git://github.com/your-repo/your-gem.git
cd your-gem
git checkout v0.1.0
gem build your-gem.gemspec
gem install your-gem-0.1.0.gem

http://rubygems.org経由でホストする場合は、自分でアカウントを作成してから、新しいバージョンをそこにプッシュする必要があります。Rubygems は gemspec からバージョンを検出し、より標準的な Gemfile エントリ形式を使用して提供します。

gem 'your-gem', '=0.1.0'

または、次のgemコマンドを使用します。

gem install your-gem -v '=0.1.0'
于 2013-05-28T14:03:52.003 に答える