为什么在捆绑器之外运行 Guard 很危险?

发布于 2024-12-28 06:45:02 字数 250 浏览 2 评论 0原文

当我运行 bundle execguard 时,一切都是干净的,但如果我尝试运行 guard 我得到这个:

WARNING: You are using Guard outside of Bundler, this is dangerous and could not work. Using `bundle exec guard` is safer.

这是为什么?

When I run bundle exec guard everything is kosher, but if I try to run guard I get this:

WARNING: You are using Guard outside of Bundler, this is dangerous and could not work. Using `bundle exec guard` is safer.

Why is this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黄昏下泛黄的笔记 2025-01-04 06:45:02

来自 bundler 官方网站

运行捆绑包中附带 gem 的可执行文件

$bundle exec rspec 规格/模型

在某些情况下,运行没有bundle exec的可执行文件可能会起作用,如果
该可执行文件恰好安装在您的系统中,但并未安装
拉入与您的捆绑包冲突的所有宝石。

然而,这是不可靠的,并且是相当大痛苦的根源。
即使它看起来有效,但在未来或现在可能不起作用
另一台机器。如果您想找到一种获得宝石的捷径
捆绑

$bundle install --binstubs $bin/rspec 规格/模型

安装到 bin 中的可执行文件的范围仅限于捆绑包,并且将
永远工作

我不确定是否有任何关于 Guard 的具体信息,但总的来说,通过 bundle exec 运行所有 gems 的可执行文件是一个很好的做法。也许他们只是决定警告开发人员,在没有它的情况下运行 guard 可能会导致麻烦(例如,如果您的系统和 Gemfile 中有不同版本的 guard)代码>)。

From bundler official site:

Run an executable that comes with a gem in your bundle

$ bundle exec rspec spec/models

In some cases, running executables without bundle exec may work, if
the executable happens to be installed in your system and does not
pull in any gems that conflict with your bundle.

However, this is unreliable and is the source of considerable pain.
Even if it looks like it works, it may not work in the future or on
another machine. If you want a way to get a shortcut to gems in your
bundle

$ bundle install --binstubs $ bin/rspec spec/models

The executables installed into bin are scoped to the bundle and will
always work

I'm not sure whether there is anything specific about guard, but in general it's a good practice to run all your gems' executables via bundle exec. May be they just decided to warn developers that running guard without it might cause troubles (e.g. if you have different versions of guard in your system and in Gemfile).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文