Die Antwort wird in den Quellcode bundler/setup
gefunden:
require 'bundler/shared_helpers'
if Bundler::SharedHelpers.in_bundle?
require 'bundler'
if STDOUT.tty?
begin
Bundler.setup
rescue Bundler::BundlerError => e
...
end
else
Bundler.setup
end
...
end
Verfahren in_bundle?
Kontrolle zu sein scheint, wenn Bündler im Inneren selbst betrieben wird (für Testzwecke, soweit ich sehen konnte), und um zu überprüfen, dass Gemfile
existiert.
Also ja, für den allgemeinen Gebrauch, sind beide Ihrer Code-Stücke gleichwertig.
Der Vorteil der bundler/setup
Version ist, dass Sie Rubin von der Kommandozeile wie folgt ausführen kann:
ruby -rbundler/setup ... some_ruby_script.rb
, die automatisch das Skript unter Bündler laufen lassen, auch wenn das Skript selbst nicht Bündler sein könnte -aware, das ist ziemlich genau das, was auch bundle exec
tut.