Установите несколько переменных среды при вызове задачи Rake

Я могу вызвать задачу Rake и установить одну переменную окружения следующим образом:

$ ONE=1 rake temp:both

Но как установить две переменные окружения?

Это не работает:

 $ ONE=1 TWO=2 rake temp:both 

Это работает, но сбивает с толку:

$ ONE=1 rake temp:both TWO=2 

Как я могу передать более одного окружения перед вызовом rake?


person Undistraction    schedule 04.02.2014    source источник
comment
У меня работает ONE=1 TWO=2 ruby -e 'puts ENV["ONE"]; puts ENV["TWO"]' (тоже с rake), в bash и в zsh (gnome-term).   -  person Ernest    schedule 05.02.2014
comment
Что делает temp:both?   -  person Steven Aguilar    schedule 20.06.2019


Ответы (1)


Согласен с @Ernest; он должен работать. Вот образец...

Пример задачи rake для эхо-переменных:

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

Выполнить задание:

VAR1=first VAR2=second bundle exec rake echo_env

Выход:

VAR1: first
VAR2: second
person steakchaser    schedule 04.02.2014
comment
Один из envs, который я проходил, был RAILS_ENV. Это переключало среду и делало задачу Rake, включенную в Gem, которая была в группе разработки, недоступной, что вызывало ошибку. - person Undistraction; 05.02.2014