質問: 更新後にどのようにGemfileのすべての宝石と互換性を保つのですか? 私の質問は既にこちらにお願いしていますが、その理由を理解しようとしていますそれを回避する方法とは対照的です。 私が得たエラーは、 ``` You have already activated rspec-core 2.7.1, but your Gemfile requires rspec-core 2.6.4. Using bundle exec may solve this. (Gem::LoadError) ``` 今私は "mpapis-bundler"のようなさまざまなソリューションを提供していますが、 "bundle exec"の省略形を作成していますが、 ``` $bundle install --binstubs ``` 〜のためだった。 具体的には、rspec-railsのgemfileにバージョン番号が記載されていないため、なぜこの非互換性がありますか?試してみると、私のエラーも発生しました ``` $rake db:migrate ``` それを教えて ``` You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Consider using bundle exec. ``` 説明をいただければ幸いです。 **EDIT:** All my gems for my app are in a gemset, and I have updated my gems again. Should an update not make sure that related gems are compatible?
回答: これはあなたのシステムに、Railsアプリケーションのものよりも新しい最近の宝石をインストールするときに起こります。 BundlerはあなたのGemfileの状態に固執する必要があることを単にouに伝えます。 これが実行の目的です。 ``` bundle exec rake db:migrate ``` -> running the very same rake version your Gemfile provides. gemfileから宝石を更新することについては、次のようにしてください: ``` bundle update ``` この種の退屈なものを避ける最も簡単な方法は、宝石を作成して宝石を孤立させることです。私はこの目的のためにRVMを使用します。