【问题标题】:newbie: error message when 'rake -T'新手:'rake -T' 时的错误消息
【发布时间】:2011-12-24 10:00:15
【问题描述】:

我正在为我的项目使用 Ruby 企业版。当我通过运行命令 rake -T 检查我的所有 rake 任务 时,我收到以下错误消息:

You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.9.2. Using bundle exec may solve this.

错误信息暗示我可以使用 bundle exec 来解决问题,但我不确定如何解决?那么,如何摆脱这个错误信息呢?

----------------- 更多 ------------- --------------

我更喜欢更新我的 Gemfile 而不是运行 bundle exec rake -T。但是当我打开我的项目 Gemfile 时,我没有在我的 Gemfile 中看到 rake 0.9.2,为什么错误消息抱怨我有它?我定义 rake 0.9.2 的地方可能在哪里??

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 rake rake-task


    【解决方案1】:

    运行bundle exec rake -T,这可确保您的 Gemfile 中指定的 rake 版本正在运行,而不是其他版本。

    或者,更新您的 Gemfile。

    【讨论】:

    • 我更喜欢更新我的 Gemfile,但我的 Gemfile 中没有 rake 0.9.2,为什么错误消息抱怨我有它?我定义 rake 0.9.2 的地方可能在哪里??
    • 梅隆,检查你的 Gemfile.lock。您可能在运行bundle install 后更新了 rake。运行 bundle update rake 更新 Gemfile.lock。
    • Harald,谢谢,它现在可以工作了。能否请您解释一下为什么 rake 不是在我的 Gemfile 中而是在 Gemfile.lock 中定义的?不是宝石吗?
    • Mellon,Gemfile 描述了您的项目所依赖的直接依赖项。 Gemfile.lock 记录了这些依赖项的实际版本以及这些依赖项的所有依赖项。这是为了让bundle install 重新创建您的确切环境,这样您在部署应用程序时就不会遇到任何不愉快的意外。
    【解决方案2】:

    这是因为您的rake 工具与Gemfile 中写入的版本不匹配。

    您首先需要运行此命令,以确保安装 rake 0.9.2:

    bundle install
    

    然后,您可以使用以下命令运行 rake 0.9.2:

    bundle exec rake -T
    

    bundle 是一个很好的工具,可以帮助您管理应用程序的依赖关系。您可以从here获取更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多