6

I can invoke a Rake task and set a single environmental variable like this:

$ ONE=1 rake temp:both

But how do I set two environmental variables?

This doesn't work:

 $ ONE=1 TWO=2 rake temp:both 

This works, but is confusing to read:

$ ONE=1 rake temp:both TWO=2 

How can I pass more than one env before the call to rake?

Undistraction
  • 42,754
  • 56
  • 195
  • 331

1 Answers1

4

Agree with @Ernest; it should work. Here's a sample...

Sample rake task to echo vars:

task :echo_env do
  puts "VAR1: #{ENV['VAR1']}"
  puts "VAR2: #{ENV['VAR2']}"
end

Execute task:

VAR1=first VAR2=second bundle exec rake echo_env

Output:

VAR1: first
VAR2: second
steakchaser
  • 5,198
  • 1
  • 26
  • 34
  • One of the envs I was passing in was `RAILS_ENV`. This was switching the environment and making a Rake task included in a Gem that was in the development group unavailable, causing error. – Undistraction Feb 05 '14 at 09:20