在rails 3中,rails s
是否会调用bundler,因此您无需在应用Gemfile环境中执行bundle exec rails s
或bundle exec
运行rails s
?< / p>
更新
据了解,由于rake版本不同,在rake任务之前应该使用bundle exec
。有关详细信息,请参阅http://railsapps.github.com/installing-rails-3-1.html。这个问题是关于rails脚本的,比如:
rails s
rails server
rails c
rails console
^应该在这些rails脚本之前使用bundle exec
,还是由rails命令调用bundler?
答案 0 :(得分:9)
你应该在Rail&gt; = 3.1中得到这种行为,但是你需要小心,因为你可能正在使用旧版本的rake:
使用命令bundle exec rake而不是rake是一个好习惯 所以你将使用你的gemfile中指定的Rake版本(或者 在Gemfile.lock文件中指定的依赖项而不是默认值 版。例如,代替rake db:migrate,运行bundle exec rake 分贝:迁移
您需要了解的内容:确保您使用的是Rake 0.9.2.2(或更新版本) 在安装Rails 3.1之前使用gem update rake。并使用bundle exec 耙而不是耙。
引自:http://railsapps.github.com/installing-rails-3-1.html
看起来与rails命令相反:
在rails命令之前不要运行bundle exec,rails已经检查了 通过Gemfile存在Bundler并设置所有内容 根据它没有捆绑exec的开销。 rails命令是 这个规则唯一的例外。
引自:http://blog.wyeworks.com/2011/12/27/bundle-exec-rails-executes-bundler-setup-3-times
答案 1 :(得分:0)
http://bundler.io/v1.5/rails3.html - “Rails 3附带了捆绑器支持... Bundler透明地管理你的依赖项!”所以只需用
运行服务器rails server