Nainstalovaný Vagrant pomocí sudo apt-get install vagrant
a pokaždé, když se pokusím spustit nějaký příkaz tulák, jako je vagrant init precise32 http://files.vagrantup.com/precise32.box
Zobrazuje se mi následující chyba:
/home/novito/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- log4r (LoadError)
from /home/novito/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /usr/bin/vagrant:2:in `<main>'
Nejsem si jistý, proč se sem zapojuje rvm, ale dobře, doufám, že mi poradíte, jak to vyřešit.
Přijatá odpověď:
Když jste nainstalovali Vagrant pomocí apt-get
nainstaloval by všechny požadované závislosti pro standardní verzi Ruby zabalenou v Ubuntu. Ale vaše chybová zpráva znamená, že když spustíte vagrant
pokouší se použít verzi Ruby (a jejích drahokamů), která je spravována RVM spíše než systémovou verzi, a ve vaší verzi Ruby chybí alespoň jedna z jejích závislostí, log4r
.
Myslím, že máte několik možností:
- Vraťte se k používání systémové (standardní Ubuntu) verze Ruby spuštěním něčeho jako
rvm use system --default
resetovat RVM ve výchozím nastavení a měnit verze Ruby pouze v případě potřeby. - Přepněte zpět na verzi systému právě při spuštění Vagrant, takže spusťte
rvm use system
před spuštěnímvagrant
ve stejné skořápce. - Identifikujte všechny drahokamy Ruby, na kterých Vagrant závisí, a ručně je nainstalujte do své instalace Ruby spravované RVM. To by však byl nešikovný přístup. Dříve bylo možné nainstalovat samotný Vagrant jako Ruby Gem, takže jste jej mohli nainstalovat do své instalace Ruby spravované RVM, ale to již není podporováno.
Další podrobnosti o ovládání, kterou verzi Ruby používáte, najdete v dokumentaci k možnostem příkazu RVM.