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コマンドオプションのドキュメントを参照してください。