1

分岐した gem (buildr) をハックしようとしています。そのため、github からクローンを作成し、コードの解体を開始しました。公式の gem が私のシステム (/usr/lib/ruby.../gems/buildr... の下) にインストールされています。私の開発プロセスで使用する必要がある実行可能ファイルがあります-buildr。

ここで、buildr 実行可能ファイルとライブラリーが、デフォルトの gem インストールではなく、フォークされたリポジトリーを指すようにします。これは、この宝石専用です。そのため、フォークされたリポジトリに対して行った変更は、テストなどに直接使用できます。

システム gem をロードする前にライブラリをロードする必要があると思います。誰かがそうするための最良の方法をお勧めできますか?

4

2 に答える 2

0

Spreadsheet gemが後方互換性を壊したとき、私は仕事のために似たようなことをしました。以前のバージョンのコードを独自のモジュールに入れ、gem の名前を my-spreadsheet に変更してインストールしました (新しい gem の機能の一部が本当に必要でしたが、その時点で以前のコードをすべて書き直したくありませんでした)。 .

オーバーライドしたいバイナリだけの場合は、いつでもPATH魔法をかけて、最初にバイナリのディレクトリを設定して、常にオーバーライドするようにしてください。しかし、個人的には、新しい名前で自分のコピーを作成してインストールすることを好みます。

于 2010-02-05T13:29:13.163 に答える
0

フォークの gemspec でバージョンを上げることができます。次に、gem のバージョンをインストールすると、(新しい) バージョンがデフォルトで使用されます。

buildr.gemspecを変更する

#...
  spec.version        = '1.3.4.dev'
#...

それで

$ gem build buildr.gemspec
$ sudo gem install buildr-1.3.4.dev.gem

そしてそれはうまくいくはずです。

于 2010-02-05T22:56:46.163 に答える