当我运行bundle exec guard
时,一切都是犹太洁食,但如果我尝试运行guard
,我就明白了:
WARNING: You are using Guard outside of Bundler, this is dangerous and could not work. Using `bundle exec guard` is safer.
这是为什么?
答案 0 :(得分:2)
来自bundler
official site:
运行捆绑包中附带gem的可执行文件
$ bundle exec rspec spec/models
在某些情况下,如果没有bundle exec运行可执行文件可能会有效 可执行文件恰好安装在您的系统中,而不是 拉入任何与你的捆绑冲突的宝石。
然而,这是不可靠的,并且是相当痛苦的根源。 即使它看起来有效,但它可能在将来或以后都无法使用 另一台机器。如果你想要一种方法来获得你的宝石快捷方式 束
$ bundle install --binstubs $ bin/rspec spec/models
安装到bin中的可执行文件的范围限定为bundle 一直工作
我不确定guard
是否有任何具体内容,但一般来说,通过bundle exec
运行所有宝石的可执行文件是一种很好的做法。可能他们只是决定警告开发人员,运行guard
没有它可能会导致麻烦(例如,如果您的系统和guard
中有Gemfile
的不同版本。