我最近在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批判的那个?
答案 0 :(得分:6)
在Heroku编译slug时,Gems被安装到Gemfile中指定的干净slug中,所以不会有无关的Gems漂浮在这个地方 - 没有必要在Heroku上使用bundle exec - 否则我'我确定Heroku文档会告诉你这样做。
答案 1 :(得分:0)
“在某些情况下,如果可执行文件恰好安装在您的系统中并且没有引入任何与您的软件包冲突的gem,那么运行没有bundle exec的可执行文件可能会有效。但是,这是不可靠的,并且是相当大的来源即使它看起来有效,但它可能在将来或其他机器上无效“
从bundler的文档中引用