這是更好奇的問題,而不是問題。當使用require
命令時,系統上有多個版本選擇哪一個版本?故事的背景是:我在項目中實施了bundler
gem(不是Rails項目)。我沒有問題,但其他開發商有問題,經過快速調查後,我意識到我沒有使用Ruby Rubygems他們如何決定加載哪些寶石?
require "bundler/setup"
它基本上加載了捆綁的寶石。快速修復,但它讓我想知道如何通過rubygems紅寶石決定使用哪些寶石。由於Ruby應用程序使用舊版本的其中一個寶石,而不是較新版本,因此破解代碼。這意味着它不使用「最新」的寶石,那麼背後的邏輯是什麼?
UPDATE
爲了進一步說明這個問題,讓說,當你說,require 'foo'
如何紅寶石知道裝載哪一個你有寶石foo-1.0.1
和foo-1.0.2
?
ty很棒的概述 –