1

コードを少し変更したgemがありますが、インストールまたは更新をバンドルすると、gemへの変更がアプリに反映されません。変更がキャプチャされてアプリに再ロードされるようにする方法はありますか?ありがとう。

4

2 に答える 2

1

gemでコードを直接更新しないでください。代わりに、次のいずれかのオプションから選択してください(優先から非優先まで)。

  • プルリクエストをgemメンテナに送信します
  • アプリの宝石にモンキーパッチを当てる
  • 元の宝石をフォークし、コピーを維持します。

これについてサポートが必要な場合は、別のディスカッションのトピックですが、gem自体のコードを編集しないでください。

于 2012-06-09T18:34:20.927 に答える
1

bundle openを使用して、インストールされているgemを変更してください。変更を加えて保存します。アプリがローカルで標準開発モード(キャッシュなし)で実行されている場合、変更はすぐに行われ、最悪の場合、アプリを再起動すると変更が反映されます。そうでない場合は、アプリが使用しているgemに変更を加えていません。このような変更は、バンドルのインストール後も存続します。これは、バンドラーがgemを更新する理由がないためです。ただし、バンドル更新を実行し、変更されたgemの新しいバージョンがインストールされている場合は、変更が削除されます。良いアプローチは、元のgemをgithubでフォークし、変更を加えて、アプリがgithubでフォークされたコピーを指すようにすることです。アプリをデプロイしても、変更されたコードが検出されてインストールされます。また、変更がすべての人にとって役立つものである場合は、

于 2012-06-09T18:38:59.780 に答える