rake db:migrate 与 bundle exec rake db:migrate 的区别(copy)

时间:2022-11-24 22:59:00

【说明:资料来自http://blog.csdn.net/lihuan974683978/article/details/8715414

 

之前一直没弄明白rake  db:migrate 与 bundle exec rake db:migrate有区别,用的过程中也没出意外。最近无意中弄明白了现在也说下吧:

 rake db:migrate 其实 rake 本身是就是一个gem; 所以你可能有多个项目,用到了相同的gem,但版本不同。哪怎么确定每个项目使用的是哪个版本呢?

  哪就要用到 bundle 了。

  哪么bundle 是什么呢? 

  bundle其实是一种管理 项目中gems的工具。每个项目所要使用的gem版本信息都在Gemfile文件中有体现。但如果你直接使用rake 命令时,默认是使用系统中最新的rake 而不是项目中使用的版本,这样就可能会出错。哪执行 bundle exec 这个命令就会去寻找项目中的版 本来使用。