使用捆绑器确保需要 gem 的正确版本的正确方法是什么?

What is the right way to ensure the correct version of a gem is required using bundler?

如果我理解正确的话

require 'rubygems'
require 'bundler/setup'

在我的 ruby 源文件的顶部将确保后续的要求将加载位于同一目录的 Gemfile 中指定的 gems 的版本,从而允许我开发多个使用相同 gem 的不同版本的项目 - 这是正确的吗?这与使用 Bundler.setup() 有何不同?

当您 require 'bundler/setup' 时,它会加载 this file,它会为您调用 Bundler.setup。这意味着您无需将其包含在自己的代码中。

RubyGems 由 Ruby 隐式加载,除非您使用 really 旧版本,所以 require 'rubygems' 不是需要。