sudo apt-get install vagrant
を介してVagrantをインストールしました 、およびvagrant init precise32 http://files.vagrantup.com/precise32.box
などのvagrantコマンドを実行しようとするたびに 次のエラーが発生します:
/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>'
なぜrvmがここに関与するのかはわかりませんが、まあ、皆さんがこれを解決する方法について私を導いてくれることを願っています。
承認された回答:
apt-get
を使用してVagrantをインストールした場合 標準のUbuntuパッケージバージョンのRubyに必要なすべての依存関係がインストールされているはずです。ただし、エラーメッセージは、vagrant
を実行すると システムバージョンではなくRVMによって管理されているバージョンのRuby(およびそのGems)を使用しようとしていますが、Rubyのバージョンに依存関係の少なくとも1つlog4r
がありません。 。
いくつかの選択肢があると思います:
-
rvm use system --default
のようなものを実行して、Rubyのシステム(標準Ubuntu)バージョンの使用に戻します。 デフォルトでRVMをリセットし、必要な場合にのみRubyのバージョンを変更します。 - Vagrantを実行しているときにシステムバージョンに戻すため、
rvm use system
を実行します。vagrant
を実行する前に 同じシェルで。 - Vagrantが依存しているすべてのRubyGemsを特定し、RVMで管理されているRubyインストールに手動でインストールします。ただし、これは厄介なアプローチになります。以前はVagrant自体をRubyGemとしてインストールできたため、RVMで管理されたRubyインストールにインストールすることもできましたが、現在はサポートされていません。
使用しているRubyのバージョンを制御する方法の詳細については、RVMコマンドオプションのドキュメントを参照してください。