捆绑exec与heroku – 是否有必要?

我最近在Heroku上设置了一个Cedar(Rails 3.1)应用程序,并且运行,例如,迁移,你会做

heroku run rake db:migrate 

我了解到在任何rake命令之前使用“bundle exec”是一个好习惯(正如Katz所说http://yehudakatz.com/ )。 所以,我想也许以下实际上是更好的做法:

 heroku run bundle exec rake db:migrate 

但是为了减少冗长,是否可以使用前一个命令,或者是bundle exec批判的那个?

在Heroku编译slug时,Gems被安装到你的Gemfile中指定的一个干净的slug中,所以不会有无关的Gems漂浮在这个地方 – 没有必要在Heroku上使用bundle exec – 否则我确定Heroku文档会告诉你这样做。

“在某些情况下,如果可执行文件恰好安装在您的系统中并且没有引入任何与您的软件包冲突的gem,那么运行没有bundle exec的可执行文件可能会有效。但是,这是不可靠的并且是相当大的痛苦的根源。甚至如果它看起来有效,它可能在将来或其他机器上不起作用“

引用bundler的文档