13

Ruby newb はこちら。

rubyinstaller 経由で ruby​​ をダウンロードし、いくつかの不足しているライブラリを解決し、最終的に作業したいruby​​ プロジェクトgem install railsをフォークしました。

何かに触れる前に、Gemfile.lock が変更されていることがわかります。

diff --git a/Gemfile.lock b/Gemfile.lock
index aefda68..9ebccba 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -46,6 +46,7 @@ GEM
     diff-lcs (1.1.3)
     erubis (2.7.0)
     eventmachine (1.0.0)
+    eventmachine (1.0.0-x86-mingw32)
     execjs (1.4.0)
       multi_json (~> 1.0)
     hike (1.2.1)
@@ -65,11 +66,17 @@ GEM
     multi_json (1.3.6)
     multi_xml (0.2.2)
     pg (0.14.1)
+    pg (0.14.1-x86-mingw32)
     polyglot (0.3.3)

...

 PLATFORMS
   ruby
+  x86-mingw32

変更されたすべての行は、Windows 関連のようです。この回答は、Gemfile.lock を gitignore するべきではないことを示しているようです (とにかく、複製したリポジトリに既にコミットされています)。この回答は、コミットしてherokuにプッシュするとエラーが発生する可能性があることを意味します(アプリをWindows固有のファイルに依存させたくないので、理にかなっています)。

それで、それはどれですか?どうすれば直せますか?リポジトリから Gemfile.lock を削除する必要がありますか?

4

1 に答える 1

1

Last time I pushed to Heroku with a Windows Gemfile.lock it handled it pretty gracefully. I don't remember if it failed and rebuilt the Gemfile.lock or just stripped the binary gem tags.

There are 2 viable options I see.
One is to assume that there isn't going to be a problem with this behavior. Which means using strict gem version requirements or updating your bundle and confirming everything works before you push.

Another is to use the :platform flag in your Gemfile. I won't recommend this, but it should force the source down and compile the gem locally. Which means any external dependencies need to be available. With a lot of binary gems (like the pg gem) this isn't an easy task. With some other gems it can be nearly impossible. Once again, I would not recommend doing this.

于 2012-12-26T00:03:06.940 に答える