2009-05-30 12 views
12

私はこのスレッドで言及action_mailerパッチを適用したいのですが、私は前に、パッチを適用したことがないと私はよく分からないどのようにこれらの作業: https://rails.lighthouseapp.com/projects/8994/tickets/2263Ruby on Railsにどのようにパッチを適用しますか?

私の行動メーラー宝石がここにあります。/ opt /ルビー-enterprise-1.8.6-20090421/lib/ruby​​/gems/1.8/gems/actionmailer-2.3.2

私はそのディレクトリに移動してpatchコマンドを実行する必要があると仮定します。私も上で本当に明確ではないよ

cd /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/ 
wget https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 
patch < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 

ことの一つは、パッチファイルは「actionmailerの」ディレクトリを指していることであるが、鉱山は

答えて

11

「actionmailerの-2.3.2」と呼ばれているあなたは、一般的にしたくありません宝石源自体にパッチを当てる。宝石類をフリーズして${RAILS_ROOT}/vendor/railsに登録してから、このパッチをローカルに適用することをお勧めします。あなたの$ {RAILS_ROOT}ディレクトリから

、ベンダー/レールにあなたのレールの宝石のすべてをダンプ

rake rails:freeze:gems 

は、パッチ

cd vendor/rails/ 
    patch -p1 < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 
+0

こんにちはMicholson、感謝のために応答します。私はあなたが通常それらに熱心にしたいと思いますが、このバグの性質のために私はすべての私のレールアプリに固定されたいと思います(とうまくいけば、バージョンコントロールにもっとたくさんのファイルをチェックしないでください)。私はあなたが書いたことからちょうどそれを得ることができるかもしれません。-pオプションを読んだ後に、ディレクトリの問題はもっと理にかなっています:http://linux.die.net/man/1/patch Cheers! –

7

作品以上Micholsonの答えを適用します。しかし、すべてのレールのアプリのための実際の宝石にパッチを適用する(彼の答えに私のコメントを参照)、これは働いていた:

cd /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/actionmailer-2.3.2 
wget sudo wget https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 
sudo patch -p2 < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 
sudo rm 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch 

を私は何がうまくいかない場合は、また、-Rとパッチを逆にすることができますがわかりました。私はこのプロセスがどこかに詳しく書かれていなかったことに驚いています。うまくいけば、これは私のようなパッチを当てていない人のためのGoogleの検索で出てくるだろう。

+1

それは私のためになった!そして、私はあなたに感謝します。 –

関連する問題