3

別の公開されたgemに依存するgemを作成しています。my_gem.gemspecで、他のgemに依存関係を追加しました

gem.add_dependency "other_gem", "~> 1.0.0"

ここで、 other_gemで微調整できる機能を見つけたので、リポジトリをフォークし、変更を加えてフォークにコミットしました(元のリポジトリにはプルされていません)。

私の質問は、my_gemにother_gemをローカルで検索するように指示するにはどうすればよいですか?以下のコードスニペットは、 Gem仕様リファレンスに記載されているように、呼び出し:pathのオプションではないため、無効です。add_dependency

gem.add_dependency "other_gem", "~> 1.0.0", :path => '/path/to/local/other_gem

4

3 に答える 3

2

ローカルでははるかに簡単です。開発を行っているときに、次のものを含めることができます。

gem "other_gem", :path => '/path/to/local/other_gem'

また

gem "other_gem", :git => "git@github.com:/your_github/other_gem.git"

これはgemspecをオーバーライドする必要があるため、gemfileで

于 2013-01-11T07:17:52.823 に答える
0

ローカルでgem依存関係にパスを与えることはおそらく不可能です。そうする場合、それは、他のgemにローカルで依存しているという制限を自作のgemに課していることを意味します。

アップロードするときにこれは機能しないため、これは望ましくありません。したがって、解決策は、独自のプラグインのgemspecにリモート依存関係を追加することです。

ここで同じことについては私のSOの投稿を参照してください。

于 2013-01-11T08:34:59.787 に答える
0

other_gem新しいバージョン、たとえば「1.0.0.Subash_fix」を作成してインストールし、それを次のように使用します

gem.add_dependency "other_gem", "= 1.0.0.Subash_fix"

パッチが適用された新しい公式バージョンのgemがある場合は、公式バージョンに切り替えます。

gem.add_dependency "other_gem", "~> 1.0.1"
于 2013-01-11T08:38:32.070 に答える