“bundle exec rake db:migrate”有什么作用?

2024-03-27

根据我的研究,bundle exec 负责在包的上下文中执行命令。

无论如何,我还不太明白它对于命令的作用有何不同rake db:migrate与相比bundle exec rake db:migrate.

例如,在我的例子中,我执行了第一个命令,我得到的是以下错误:

$ rake db:migrate
(in c:/rails/rails_projects/soccerweb)
rake aborted!
uninitialized constant Rake::DSL
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2482:in `const_missing'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/tasklib.rb:8:in `<clas
s:TaskLib>'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/tasklib.rb:6:in `<modu
le:Rake>'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/tasklib.rb:3:in `<top
(required)>'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/testtask.rb:4:in `requ
ire'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/testtask.rb:4:in `<top
 (required)>'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/test_unit/testing.r
ake:2:in `require'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/test_unit/testing.r
ake:2:in `<top (required)>'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/test_unit/railtie.r
b:12:in `load'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/test_unit/railtie.r
b:12:in `block in <class:TestUnitRailtie>'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `
call'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `
block in load_tasks'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `
each'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `
load_tasks'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/engine.rb:396:in `b
lock in load_tasks'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/application/railtie
s.rb:8:in `each'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/application/railtie
s.rb:8:in `all'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/engine.rb:396:in `l
oad_tasks'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/application.rb:103:
in `load_tasks'
c:/Ruby192/lib/ruby/gems/1.9.1/gems/railties-3.1.1/lib/rails/railtie/configurabl
e.rb:30:in `method_missing'
c:/rails/rails_projects/soccerweb/Rakefile:7:in `<top (required)>'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2373:in `load'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile'
c:/Ruby192/lib/ruby/1.9.1/rake.rb:1991:in `run'
c:/Ruby192/bin/rake:31:in `<main>'

但是当我在“rake db:migrate”命令之前使用“bundle exec”时,一切都对我来说很优雅!

任何人都可以解释我吗?


bundle exec rake运行的版本rake您已在您的Gemfile。默认版本为rake,可以在您的$PATH,可能与执行的不同bundle exec rake.

您所遇到的问题已在单独的问题 https://stackoverflow.com/questions/6085610/ruby-on-rails-and-rake-problems-uninitialized-constant-rakedsl. Your bundle exec rake最有可能运行 rake 0.8.7 和rake从你的$PATH是受此问题影响的较新版本。

引用自男子捆绑执行 http://gembundler.com/man/bundle-exec.1.html:

捆绑执行对 shell 环境进行一些更改,然后完整执行您指定的命令。

  • (...)
  • 将包含可执行文件(如rails、rspec、rackup)的目录放在$PATH 上
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“bundle exec rake db:migrate”有什么作用? 的相关文章

随机推荐

  • recyclerview 未连接适配器;跳过布局

    刚刚实施RecyclerView在我的代码中 替换ListView 一切正常 显示数据 但正在记录错误消息 15 25 53 476 E RecyclerView No adapter attached skipping layout 15
  • 如何使用自定义比较器对通用列表进行排序?

    我有点像 Delphi 新手 我不明白如何调用 TList of Records 的 Sort 方法以便按升序整数值对记录进行排序 我有一个类似如下的记录 type TMyRecord record str1 string str2 str
  • 音频音量标准化时的动态范围压缩[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经问过音量标准化 https stackoverflow com questions 12481524 audio volume
  • 向平静图添加颜色条

    这是我在此的头一篇博文 我正在使用 calmap 绘制漂亮的日历图来分析一些数据 日历图使用颜色图来显示日期之间的对比 我遇到的问题是 calmap 没有提供友好的工具来显示与日历图相关的颜色条 我想知道你们中是否有人能解决这个问题 理想的
  • Google Cloud Endpoint 不断抛出“意外的流结束”异常

    有谁知道为什么 Google Cloud Endpoint 不断抛出异常unexpected end of stream甚至在我的应用程序引擎实例实际到达之前就出现异常 当我调用端点时 我不断收到以下错误 在大多数地方 错误会在每次其他调用
  • 在一张图中绘制多个箱线图

    我将数据保存为 csv文件有 12 列 第 2 列到第 11 列 标记为F1 F2 F11 are features Column one包含label这些功能要么good or bad 我想绘制一个boxplot of 所有这 11 个功
  • MuiThemeProvider.render():必须返回有效的 React 元素(或 null)

    我正在使用 Material UI 和 React 来创建一个下拉菜单 如果我将下拉组件保留在我的src app js一切都呈现良好 但是 如果我将其移至单独的文件中 fruits js我收到以下错误 MuiThemeProvider re
  • 包装递归函数总是一个好的做法吗?

    我正在使用递归函数来计算从一个节点开始到另一个给定的一组规则 例如 最小 最大 确切的停止次数 的图表中可能的遍历次数 我想知道调用调用递归函数而不是直接调用它的包装函数是否是一个好习惯 大多数时候我看到人们使用包装函数 只是想知道为什么以
  • 在与 WebPack 捆绑在一起的 Visual Studio 中调试 JavaScript 代码

    我是 JS 开发新手 在 Visual Studio 2013 中调试 JS 代码时遇到问题 我们的 Web 应用程序的 JS 部分由 WebPack 捆绑到单个 app bundle js 文件中 每次任何 js 文件更改时 该文件都会自
  • 关于 .Equals() 与 == 运算符以及基元与对象比较的混淆

    考虑这段代码 int a 0 short b 0 int c 0 object a1 a object b1 b object c1 c Console WriteLine 1 comparing primitives int vs sho
  • 有什么好的 javascript 库可以实现跨浏览器和打印机友好的页面吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Karma 用于自动用户交互测试?

    我正在测试一个设置Karma http karma runner github io Mocha http visionmedia github io mocha 其中一件事是这个可能 要做的是在各种浏览器上测试用户交互 包括Phantom
  • QT-creator 中架构 x86_64 的未定义符号

    我刚刚开始使用 C 正在学习如何使用 QT 创建者作为 IDE 所以我怀疑这可能非常简单 但我可能会遗漏一些东西 我安装了apollo MQ并安装了apache CMS C 消息服务 http activemq apache org cms
  • 访问链接后,Firefox 有选择地跳过状态更改或 a:visited 样式

    单击具有常见 href 的链接 本地页面或网站 后 并且href加载成功 FF2和IE7都会显示 带有 a visited 样式的链接 对于带有 href javascript anyfunc 的链接 IE7 的工作方式如上 而 FF2 不
  • 比较两个数据库之间的数据模型的选项?

    我需要确定 2 个数据库之间的数据模型差异 DB1 和 DB2 我需要一种方法来识别丢失 额外的数据库对象和命名差异 您是否可以推荐用于此目的的 sproc 或免费工具 要比较两个数据库架构 您可以使用 Visual Studio 2015
  • 具有平方像素的 ImageView(无插值)

    我有一个 9X11 像素的位图 代表一个迷宫 路径为绿色 墙壁为黑色 开始为橙色 结束为蓝色 它的矩阵是 int map new int 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 1 0
  • 将数字字段中带有逗号的数据导入到 redshift 中

    我正在使用 SQL 将数据导入 redshiftCOPY陈述 数据在数字字段中包含逗号千位分隔符COPY声明拒绝 The COPY语句有许多选项来指定字段分隔符 日期和时间格式以及 NULL 值 但是我没有看到任何指定数字格式的内容 我是否
  • ExpressJS 服务器 - 如何处理多个域

    我在 Express 上闲逛了一下 我想知道 最正确 的方法是处理链接到同一服务器的多个域 假设我们有 foo com bar net baz com 这一切都指向111 222 333 444 该机器正在运行 NodeJS 和 Expre
  • ClickOnce 无法在 Internet Explorer 9 中运行

    My 单击一次 http en wikipedia org wiki ClickOnce部署曾经完美地工作 但它在 Internet Explorer 9 中停止工作 它只显示桌面应用程序XML 文件 它仍然有效谷歌浏览器 http en
  • “bundle exec rake db:migrate”有什么作用?

    根据我的研究 bundle exec 负责在包的上下文中执行命令 无论如何 我还不太明白它对于命令的作用有何不同rake db migrate与相比bundle exec rake db migrate 例如 在我的例子中 我执行了第一个命