Установка значения по умолчанию в Vagrantfile, если env.переменная не установлена - PullRequest
0 голосов
/ 30 мая 2018

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

config.vm.box = ENV['VAGRANT_DEV_BOX'] || "ubuntu/xenial64"

, что вызывает следующую ошибку:

/opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/version.rb:208:in `initialize': Malformed version number string debian-VAGRANTSLASH-jessie64 (ArgumentError)

На данный момент переменная VAGRANT_DEV_BOX не установлена.Подтверждено так:

server ?  echo $VAGRANT_DEV_BOX

server ?

Возможно ли это сделать в Ruby и / или Vagrantfile?

1 Ответ

0 голосов
/ 30 мая 2018

Это благодаря double-p на #vagrant, freenode:

<double-p> вы не можете просто встроить ruby ​​.. поставьте это выше vagrant-configure, например:

port = ENV["HOST_PORT"] || 8080

Vagrant.configure("2") do |config|
  # Ubuntu 14.04 LTS
  config.vm.box = "ubuntu/trusty64"
  config.vm.network "forwarded_port", guest: 80, host: port
  config.vm.provision "shell", path: "vagrant/provision.sh"
end
...