2015-08-20 51 views
0

後,當我運行vagrant box list我得到一個Malformed version number string virtualbox (ArgumentError)錯誤:無業遊民箱list`返回「格式不正確的版本號字符串的VirtualBox(引發ArgumentError)」

$ vagrant box list 
my_box    (virtualbox, 0) 
/opt/vagrant/embedded/lib/ruby/2.0.0/rubygems/version.rb:191:in `initialize': Malformed version number string virtualbox (ArgumentError) 
from /opt/vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/box_collection.rb:277:in `new' 
from /opt/vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/box_collection.rb:277:in `block (2 levels) in find' 
from /opt/vagrant/embedded/gems/gems/vagrant-1.7.4/lib/vagrant/box_collection.rb:272:in `map' 
... 

什麼是壞了流浪漢?我該如何解決它?

回答

1

看來virtualbox的某處改變了他們存儲盒子版本的方式。他們曾經是按名字存儲的;現在它們按數字存儲。

$ tree -L 2 .vagrant.d/boxes/ 
.vagrant.d/boxes/ 
└── my_box 
    └── 0   # <-- new format, keep this 
    └── virtualbox # <-- old, offending format 

在上述情況下,virtualbox目錄的問題 - 讓vagrant box list再次合作,刪除有問題的版本,像這樣:

rm -rf .vagrant.d/boxes/my_box/virtualbox