Full Curtain 2011-10-13 09:14
浏览 307
已采纳

bundle exec rake db:migrate和rake db:migrate

http://ruby.railstutorial.org/chapters/a-demo-app#top中看到的,使用bundle exec rake db:migrate的区别和好处是什么呢,
bundle exec 是什么意思,还可以用于其他途径吗?

  • 写回答

1条回答 默认 最新

  • horace_lee 2011-10-13 13:54
    关注

    这个吧从头说话比较长

    首先,你得知道bundle是干啥的

    简单讲bundle就是为rails项目提供一个类似沙盒机制,沙盒有很多好处啦。简单讲,能保证主要是项目依赖的gem版本,rails 3呢就从gem变成core了

    然后呢,bundle exec是干啥的

    bundle -h 能看到

    [quote] bundle exec(1) bundle-exec.1.html
    Execute a script in the context of the current bundle[/quote]

    就说是为了维护工作环境,其实还是gem版本,bundle是拷Gemfile这个配置文件来维持统一的gem版本的。所以,你可以有多个项目使用相同的gem,但是不同的版本。

    最后,说说你的这个例子命令里,有没有bundle exec的区别。

    rake db:migrate是移植数据库啦。那么,这里实际是调用了一个rake的gem,所以,如果你的系统,如果有多个rake,比如,你系统是0.9但你在这个项目的Gemfile里写rake版本是0.8.7,项目多的时候完全可能,有些项目的有些gem版本就是没有升级。那么,写bundle exec会调用0.8.7的rake执行,不写的系统会默认调用最新的版本也就是0.9的rake。所以,也就是,有可能会出错了。

    比较啰嗦凑合看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 KeiI中头文件找不到怎么解决
  • ¥15 QT6将音频采样数据转PCM
  • ¥15 本地安装org.Hs.eg.dby一直这样的图片报错如何解决?
  • ¥15 下面三个文件分别是OFDM波形的数据,我的思路公式和我写的成像算法代码,有没有人能帮我改一改,如何解决?
  • ¥15 Ubuntu打开gazebo模型调不出来,如何解决?
  • ¥100 有chang请一位会arm和dsp的朋友解读一个工程
  • ¥50 求代做一个阿里云百炼的小实验
  • ¥15 查询优化:A表100000行,B表2000 行,内存页大小只有20页,运行时3页,设计两个表等值连接的最简单的算法
  • ¥15 led数码显示控制(标签-流程图)
  • ¥20 为什么在复位后出现错误帧