Bundler: You have already activated json_pure 1.4.3...

Bundler を使い始めると、次のようなエラーメッセージに遭遇するかもしれません。

You have already activated json_pure 1.4.3, but your Gemfile requires json_pure 1.4.6. Consider using bundle exec.

私はまだこの問題への正しい対処法を見つけていませんが、一応動くようにはなりましたので、ここにメモしておきます。

まず、json_pure 1.4.3 をアンインストールするという方法が思いつきます。

これで上手く行ったケースもありましたが、どうしても駄目な場合がありました。

よく分からないのですが、なぜか json_pure 1.4.3 がアクティベートされてしまいます。

そこで、無理矢理、Gemfile.lock の中から


json_pure (= 1.4.6)

という行を探して、


json_pure (= 1.4.3)

に変更してみたところ、うまく動きました。

でも、これは、特定のアプリケーション環境における、アドホックな解決法に過ぎません。

Bundler は画期的なツールかもしれないけど、こういうケースでは一般人には手に負えなくなる可能性がありますね。

[追記]
Gemfile.lock を書き換えるよりも、Gemfile に


gem 'json_pure', '= 1.4.3'
と書いてみて、bundle update が成功するかどうか試してみた方がいいかもしれません。

これから Bundler の利用が普及すれば、問題を引き起こすような gem については、新しいバージョンがリリースされることで、この種の現象は徐々に起きなくなっていくでしょう。