2012-12-25 14 views
12

ルビーニューバンはこちら。Windows上でGemfile.lockをソース管理にコミットする必要がありますか?

ruby​​installer経由でruby installerをダウンロードしました。gem install railsを実行しました。欠落しているライブラリがいくつか解決されました。最後に、作業したいruby projectをフォークしました。触れる前に

は、私は私の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が関係しているように見えます。 This answerは、私がGemfile.lockをgitignoreしてはならないことを示しているようです(それはすでに私が複製したリポジトリにすでにコミットしています)。 This answer私がコミットするとエラーが出る可能性があります& herokuにプッシュします(私のアプリはWindows固有のファイルに依存したくないので意味があります)。

これはどちらですか?どのように修正する必要がありますか?レポからGemfile.lockを削除する必要がありますか?

+1

GEmfileでプラットフォームを試してみたいですが、http://qastuffs.blogspot.com/2011/02/how-to-configure-gemfile-for-windows.html?m=1 – house9

答えて

1

最後に、私はWindowsのGemfile.lockでHerokuにプッシュしました。それはかなり優雅に処理されました。 Gemfile.lockが失敗し再構築されたのか、バイナリgemタグを取り除いたのかは分かりません。

私は2つの実行可能なオプションがあります。
1つは、この動作に問題がないと想定することです。つまり、厳格な宝石のバージョン要件を使用するか、またはbundleを更新し、プッシュする前にすべてを確認することを意味します。

もう1つは:platform flag in your Gemfileです。私はこれをお勧めしませんが、ソースを強制的に停止し、ローカルで宝石をコンパイルする必要があります。つまり、外部依存関係を利用できる必要があります。多くのバイナリ宝石(pg宝石のようなもの)では、これは簡単な作業ではありません。他のいくつかの宝石では、それはほぼ不可能です。もう一度、私はこれを行うことをお勧めしません。

+0

私は修正を避けたいですgemfileへ。私は、私が偶然gemfileをコミットしたことを知るために、私がフォークしたプロジェクトにプルリクエストを提出しようとしました。問題を引き起こさないかもしれませんが、gemfileの変更は、私がそれらに戻そうとしているものの一部ではありません。これらのオプションのいずれかが機能しますか?どちらもgemfileにいくつかの変更が必要なようです。 – ripper234

+0

申し訳ありませんが、あなたのアプリケーションをLinux環境にデプロイするときに、 'Gemfile.lock'の影響がどのようなものだったのかと思いました。 – Azolo

+0

私は[pull request](https://github.com/lockitron/selfstarter/pull/22)を見ました。あなたが話していると思います。あなたが 'pry'依存関係を追加し、' Gemfile.lock'を変更したようです。皮肉なことに、 'Gemfile'の変更は' Gemfile.lock'の変更だけをコミットしませんでした。 = P私はちょうど戻って、変更が偶発的であったので、 'Gemfile.lock'の変更をコミットから削除します。 – Azolo

関連する問題