【问题标题】:rake system command causes bundle errorrake 系统命令导致捆绑错误
【发布时间】:2013-05-29 13:41:07
【问题描述】:

我正在尝试运行此 rake 任务,但它不断返回以下错误:

Could not find libv8-3.3.10.4 in any of the sources
Run `bundle install` to install missing gems.

当我尝试运行 bundle install bundler 时说一切都是最新的。

我正在使用以下命令运行任务: bundle exec rake deploy:staging

这是我的 rake 任务的样子:

  task :staging  do
    app = "heroku-app-name"

    puts "Turn maintenance on"
    system "heroku maintenance:on --app #{app}"
  end

【问题讨论】:

  • 根据我的阅读,不同平台有不同的 libv8 实例,这导致了这种错误。除了版本号之外,gem list 是否显示有关 libv8 的更多详细信息?例如,x86_64 或其他什么?
  • 可以试试 - gem install --version '=3.3.10.4' libv8
  • 该错误是来自 heroku 还是仅在您的本地计算机上?
  • @phoet 这个错误来自我的本地机器。这些命令中的每一个都在控制台中运行 find,只有当我尝试将它们放入 rake 任务时,我才会收到这些错误
  • @mbratch @David 我目前正在使用libv8 (3.3.10.4 x86_64-darwin-12)

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


【解决方案1】:

通过将命令包装在 Bundler.with_clean_env 块中,我能够从 rake 任务中输出 heroku 命令,如下所示:

Bundler.with_clean_env do
  system "heroku maintenance:on --app #{app}"
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    相关资源
    最近更新 更多