【发布时间】:2018-05-30 10:41:16
【问题描述】:
如果未设置环境变量,我正在尝试执行以下操作来设置默认值:
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 中执行此操作?
【问题讨论】:
-
看起来
config.vm.box需要版本,而ENV['VAGRANT_DEV_BOX']包含此"debian-VAGRANTSLASH-jessie64"。它与|| "ubuntu/xenial64"部分无关,因为它永远不会被执行。 -
ENV['VAGRANT_DEV_BOX']在此时为空,因为它尚未设置。config.vm.box需要一个字符串,例如ubuntu/xenial64。已编辑的问题。