【问题标题】:rake - How to execute a task with environment variables from inside another task?rake - 如何从另一个任务中使用环境变量执行任务?
【发布时间】:2019-11-28 18:19:33
【问题描述】:

我想在另一个任务中模拟命令RAILS_ENV=test rake db:migrate
我不希望这种变量更改影响后续任务/bash 命令,因此“硬设置”环境变量不是一个选项。
我找不到如何使用Rake::Task['task_name'].invoke

【问题讨论】:

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


    【解决方案1】:

    这样的事情就可以了:

    ENV["RAILS_ENV"] = "test"
    Rake::Task['db:migrate'].invoke
    

    从 Ruby 内部更改 ENV 不会影响父 shell - 它只是一个已经加载到 Ruby 中的副本。

    【讨论】:

      猜你喜欢
      • 2014-02-27
      • 1970-01-01
      • 2012-04-03
      • 2017-02-07
      • 1970-01-01
      • 2010-10-09
      • 2020-01-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多