これは好奇心の問題であり、問題ではありません。システムに多くのバージョンが存在する場合、require
コマンドを使用するときにどのバージョンが選択されますか? 話の背景は:bundler
プロジェクト (Rails プロジェクトではない) で gem を実装していました。私には問題はありませんでしたが、他の開発者には問題がありました。簡単な調査の結果、私は使用していないことに気付きました
require "bundler/setup"
基本的にバンドルされた宝石をロードします。簡単な修正ですが、ruby via rubygems がどの gem を使用するかをどのように決定するのか疑問に思いました。Ruby アプリケーションが古いバージョンの gem を使用し、新しいバージョンを使用しなかったため、コードが破損したためです。「最新」のgemを使用しないということは、その背後にあるロジックは何ですか?
アップデート
この質問をさらに説明するために、宝石を持っているとしましょう。あなたが言うとき、ルビーはどの宝石foo-1.0.1
をfoo-1.0.2
ロードrequire 'foo'
するかをどのように判断しますか?