rubo77
rubo77

Reputation: 20817

Ruby error message starting vagrant

I used to start my local VM gc-gw0 with vagrant:

vagrant up gc-gw0

but since today I get this error instead:

/usr/lib/ruby/2.1.0/rubygems/version.rb:202:in `initialize': 
        Malformed version number string .git (ArgumentError)
        from /usr/lib/ruby/2.1.0/rubygems/version.rb:192:in `new'
        from /usr/lib/ruby/2.1.0/rubygems/version.rb:192:in `new'
        from /usr/lib/ruby/vendor_ruby/vagrant/box_collection.rb:274:in `block (2 levels) in find'
        from /usr/lib/ruby/vendor_ruby/vagrant/box_collection.rb:271:in `map'
        from /usr/lib/ruby/vendor_ruby/vagrant/box_collection.rb:271:in `block in find'
        from /usr/lib/ruby/vendor_ruby/vagrant/box_collection.rb:423:in `block in with_collection_lock'
        from /usr/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
        from /usr/lib/ruby/vendor_ruby/vagrant/box_collection.rb:422:in `with_collection_lock'
        from /usr/lib/ruby/vendor_ruby/vagrant/box_collection.rb:264:in `find'
        from /usr/lib/ruby/vendor_ruby/vagrant/vagrantfile.rb:157:in `block in machine_config'
        from /usr/lib/ruby/vendor_ruby/vagrant/vagrantfile.rb:190:in `call'
        from /usr/lib/ruby/vendor_ruby/vagrant/vagrantfile.rb:190:in `machine_config'
        from /usr/lib/ruby/vendor_ruby/vagrant/vagrantfile.rb:45:in `machine'
        from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:503:in `machine'
        from /usr/lib/ruby/vendor_ruby/vagrant/plugin/v2/command.rb:168:in `block in with_target_vms'
        from /usr/lib/ruby/vendor_ruby/vagrant/plugin/v2/command.rb:192:in `call'
        from /usr/lib/ruby/vendor_ruby/vagrant/plugin/v2/command.rb:192:in `block in with_target_vms'
        from /usr/lib/ruby/vendor_ruby/vagrant/plugin/v2/command.rb:174:in `each'
        from /usr/lib/ruby/vendor_ruby/vagrant/plugin/v2/command.rb:174:in `with_target_vms'
        from /usr/share/vagrant/plugins/commands/up/command.rb:67:in `block in execute'
        from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:239:in `block (2 levels) in batch'
        from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:237:in `tap'
        from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:237:in `block in batch'
        from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:236:in `synchronize'
        from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:236:in `batch'
        from /usr/share/vagrant/plugins/commands/up/command.rb:58:in `execute'
        from /usr/lib/ruby/vendor_ruby/vagrant/cli.rb:42:in `execute'
        from /usr/lib/ruby/vendor_ruby/vagrant/environment.rb:258:in `cli'
        from /usr/bin/vagrant:173:in `<main>'

The strange thing is, I still started it like this yesterday without problem.

I searched a lot for this error but no hints yet. What does this error message mean? Which is the main error in the whole message?

I use

$ vagrant -v
Vagrant 1.6.5
$ ruby -v
ruby 2.1.2p95 (2014-05-08) [i386-linux-gnu]

Vagrantfile and bootstrap-testnode.sh files are here: rubo77/freifunk-gluon-example-node
But I deleted all my vms in virtualbox but still I get this error anytime I want to do anything with vagrant. seems vagrant has some problem itself. So I guess the scripts I tried have nothing to do with this error.

line 202 in /usr/lib/ruby/2.1.0/rubygems/version.rb is this:

def initialize version
    raise ArgumentError, "Malformed version number string #{version}" unless
      self.class.correct?(version)

    @version = version.to_s.strip.gsub("-",".pre.")
    @segments = nil
  end

So it seems like ruby is checking a .git folder instead of a version number folder

Upvotes: 0

Views: 1224

Answers (2)

Fernando Munoz
Fernando Munoz

Reputation: 4919

I got an similar vagrant misconfiguration.

For some reason when updating repos on specific configurations of the vagrant files, this can mess up the vagrant boxes. In my case I was upgrading vagrant and virtualbox with some other changes to the vagrantfile.

I had to go to

 ~/.vagrant.d/boxes/

and erase the old boxes that I had.

Upvotes: 1

rubo77
rubo77

Reputation: 20817

I found out:

I had created a .git repository inside

~/.vagrant.d/boxes/box-cutter-VAGRANTSLASH-debian77-i386

So vagrant tried to read that folder where there should be only folders named by numbers.

I removed that .git folder and it worked

Upvotes: 2

Related Questions