gpt4 book ai didi

ruby-on-rails - 是否需要“bundler/setup”与运行 Bundler.setup 相同?

转载 作者:太空宇宙 更新时间:2023-11-03 16:42:28 30 4
gpt4 key购买 nike

这是:

require 'bundler'
Bundler.setup

完成与:

require 'bundler/setup'

据我所知,bundler/setup 自动要求所有组,而 require 'bundler' 不是这种情况。那么考虑到这个事实,这是否意味着上面的 2 段代码完成了同样的事情?

最佳答案

答案在bundler/setup的源码中找到:

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

in_bundle? 方法似乎在检查 Bundler 是否在自身内部运行(据我所知,出于测试目的),并验证 Gemfile 存在。

是的,对于一般用途,您的两段代码是等效的。

bundler/setup 版本的优势在于,您可以像这样从命令行运行 Ruby:

ruby -rbundler/setup ... some_ruby_script.rb

这会自动让您的脚本在 Bundler 下运行,即使脚本本身可能不是 Bundler 感知的,这与 bundle exec 所做的几乎相同。

关于ruby-on-rails - 是否需要“bundler/setup”与运行 Bundler.setup 相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42498527/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com