BUNDLE_DISABLE_SHARED_GEMSが指定されているとVagrantが動作しない
タイトルの通りなのだけど、OS X YosemiteでBUNDLE_DISABLE_SHARED_GEMS
という環境変数が指定されているとVagrantが動作しない。Marvericksだと何故か動作する……
.bashrc
に以下を書いていた。
export BUNDLE_DISABLE_SHARED_GEMS=1
この状態でインストーラからインストールしたVagrantを使おうとすると以下のようになる。
$ vagrant
Bundler, the underlying system used to manage Vagrant plugins,
is reporting that a plugin or its dependency can't be found.
This is usually caused by manual tampering with the 'plugins.json'
file in the Vagrant home directory. To fix this error, please
remove that file and reinstall all your plugins using `vagrant
plugin install`.
/Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require': cannot load such file -- log4r (LoadError)
from /Applications/Vagrant/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require'
from /Applications/Vagrant/bin/../embedded/gems/gems/vagrant-1.6.5/bin/vagrant:104:in `<main>'
そもそもこの環境変数、普通にbundle install
するとそのディレクトリの.bundle/config
に書かれるので普段の開発ならわざわざ指定する必要はない。
BUNDLE_PATH
も指定していたけど、どうせ--path vendor/bundle
とか自分で入力するかRakefileに書いてしまうので消してしまうか。