我经常在使用 Bundler 的项目中看到 2 个变体。
一种是:
require "bundler/setup"
Bundler.require(:default)
还有一个:
require 'bundler'
Bundler.setup :default, (ENV['RACK_ENV'] || 'development')
tye 是相同的还是有变化的?
Bundler.setup
为您的特定 gem 准备加载路径,Gemfile.lock
以便您可以根据需要请求每个 gem。Bundler.require
进一步遍历每个 gem 并需要每个 gem(通过需要为 gem 命名的文件,如果它存在)。
bundler.rb
您可以在和中自己阅读实现runtime.rb
。