これは明らかな問題かもしれませんが、私はベストプラクティスのためにグーグルグーグルで問題を抱えています。私はRails 3.0とBundlerを使用しています。私はどのように私のレールプロジェクトの宝石をロックダウンするのですか?
私は自分の仕事用ノートパソコンでRailsアプリケーションを開発し始めました。私はgemファイルにgemの名前を追加し、バンドルのインストールを実行しました。私がこれをしたとき、私は必要な宝石のバージョンにあまり注意を払わなかったので、Bundlerに最新バージョンをインストールさせました。すべてがうまくいきました。
私はこのアプリをHerokuにプッシュして、ちょうどうまくいった。
私のGemfile.lockファイルで定義されているgemバージョンを使用しているのはHerokuですか?あるいは、Gemfileを使って最新のバージョンを取り出してインストールしていますか?
その後、新しいノートパソコンを手に入れました。だから私はそのノートパソコンでgit repoをクローンすることにしました。私はRVMをインストールし、GitHubからリポジトリをクローンし、バンドルをローカルにインストールしました。問題は、私がGemfileに宝石のバージョンを指定しなかったので、
bundle install
を実行すると最新のgemのバージョンがダウンロードされたということでした。私はいくつかのCSSの変更を加え、Herokuにプッシュし、アプリが壊れていることを察知しました。どうやらペーパークリップの宝石には今や他の何かの宝石か何か他のものが必要です。私はGemfile.lockのgitログを見て、以前の作業用のpaperclipを見つけて、そのバージョン番号をGemfileに入れました。 herokuに退却し、それは再び働いている。
どうすればこの問題が発生しないようにすることができますか?私はいつも私のGemfileにgemのバージョン番号を入れておくべきですか?私は私の宝石(私は前にやったことがない、それを行う方法)を納得させるべきですか?
あなたは確かに*最新バージョンをインストールしましたか?リポジトリにGemfile.lockファイルをチェックインしていませんでしたか? –
はいGemfile.lockをレポにチェックインしました。しかし、新しいラップトップにバンドルインストールを実行すると、最新のgemのバージョンが取得され、ローカルのGemfile.lockが上書きされました。 – Homan
これが実際に起こった場合は、Bundlerにバグがあります。最新バージョンのBundlerを使用していることを確認し、この動作を確実に再現できる場合は、[報告する](https://github.com/carlhuda/bundler/issues/new)を参照してください。 –