web-dev-qa-db-ja.com

Ruby gemを変更する方法

既存の* .gemファイルを変更するにはどうすればよいですか? Windowsでコンパイルできるように、gemのRakefileを変更したいと思います。

37
aztack

あなたはできる gem unpackそれ、あなたの変更を追加し、必要に応じてgemspecを変更して再度ビルドします:

40
Michael Kohl

ソースコードを別のフォルダーにダウンロードします(おそらくgithubから)。次に、ソースを直接ポイントするようにGemfileを変更して、ソースを編集して変更を直接テストできるようにします。

たとえば、secure_headers gemを編集し、それを〜/ workspace/secureheadersに複製したとします。次に、Gemfileで以下を使用できます。

gem 'secure_headers', :path => "~/workspace/secureheaders"

次に、ソースツリー内のソースファイルを変更するだけで、変更が直接適用されたことがわかります。

50
dionyziz

新しいバージョンのbundlerでは、次のコマンドでこれを行うことができます。

bundle open gem_to_edit

これにより、デフォルトのテキストエディターでgemコードが開きます。

(ヒント:Mac OSX/Linuxを使用している場合は、$ EDITOR変数を変更してデフォルトのテキストエディターを指定できます。bashを使用している場合は、~/.bash_profileと追加:export EDITOR='subl -w'を使用して、Sublime Textをデフォルトのエディターとして設定します)

23
Americo Savinon

おそらく、これを行うためのより受け入れやすく、オープンソースに適した方法は、Gemのソースがgithubなどで利用できるかどうかを確認することです。次に、gemコードのフォークを作成し、変更を加えて、プルリクエストを送信します。たぶん、誰か他の人もその機能を望んでいて、あなたはあなたの貢献に対して告知されるでしょう。

15
Mike Farmer

Gemのgemspecがない場合は、次のコマンドで抽出します。

gem spec my_gem --Ruby > my_gem.gemspec

もちろん、my_gemを適切なgem名に置き換えます。結果として得られたファイルを編集して(1つの例では、エラーの原因となった行を削除する必要がありました)、これで問題ありません。

6
Gert Sønderby