Menginstal Vagrant melalui sudo apt-get install vagrant
, dan setiap kali saya mencoba menjalankan beberapa perintah gelandangan, seperti vagrant init precise32 http://files.vagrantup.com/precise32.box
Saya mendapatkan kesalahan berikut:
/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>'
Tidak yakin mengapa rvm terlibat di sini, tapi oh well, saya harap kalian dapat membimbing saya tentang cara menyelesaikan ini.
Jawaban yang Diterima:
Saat Anda menginstal Vagrant menggunakan apt-get
itu akan menginstal semua dependensi yang diperlukan untuk versi Ruby standar paket Ubuntu. Tetapi pesan kesalahan Anda menunjukkan bahwa ketika Anda menjalankan vagrant
ia mencoba menggunakan versi Ruby (dan Permatanya) yang dikelola oleh RVM daripada versi sistem, dan versi Ruby Anda kehilangan setidaknya satu dependensinya, log4r
.
Saya rasa Anda memiliki beberapa opsi:
- Kembali menggunakan versi sistem (Ubuntu standar) Ruby dengan menjalankan sesuatu seperti
rvm use system --default
untuk menyetel ulang RVM secara default, dan hanya mengubah versi Ruby jika perlu. - Beralih kembali ke versi sistem saat menjalankan Vagrant, jadi jalankan
rvm use system
sebelum menjalankanvagrant
dalam cangkang yang sama. - Identifikasi semua Permata Ruby yang menjadi sandaran Vagrant dan instal secara manual di instalasi Ruby yang dikelola RVM Anda. Ini akan menjadi pendekatan fiddly, meskipun. Dulu mungkin untuk menginstal Vagrant sendiri sebagai Permata Ruby, jadi Anda bisa menginstalnya di instalasi Ruby yang dikelola RVM, tetapi itu tidak didukung lagi.
Lihat dokumentasi opsi perintah RVM untuk detail lebih lanjut tentang cara mengontrol versi Ruby yang Anda gunakan.