問題
vagrant upすると以下のエラーが出る
% vagrant up RuntimeError: Couldn't determine Berks version: #<Buff::ShellOut::Response:0x00000104987f10 @exitstatus=1, @stdout="", @stderr="/Users/otiai10/.rbenv/versions/2.1.3/lib/ruby/2.1.0/rubygems/dependency.rb:298:in `to_specs': Could not find 'berkshelf' (>= 0) among 61 total gem(s) (Gem::LoadError) # 以下略
調査
- Could not determine Berks version. v3.0.0 · Issue #212 · berkshelf/vagrant-berkshelf · GitHub
- Bountysource
- chefを入門するなどしていた - エンジニアですよ!
- RuntimeError: Couldn’t determine Berks versionエラーが出たら | Androg
- celluloid version conflict still exists · Issue #174 · berkshelf/vagrant-berkshelf · GitHub
chefdkをインストールしたのち、/opt/chefdk/bin
/opt/chefdk/embedded/bin
へPATHを通せばいいのかな
しかし解決せず
しかし解決せず。なんでや
原因
% which berks /Users/otiai10/.rbenv/shims/berks %
berks
へのコマンドパスが、rbenvのgemのまま。本当は
% ls /opt/chefdk/bin/berks
/opt/chefdk/bin/berks
%
こっちでなければならない。
解決
# rbenv -export PATH=/opt/chefdk/bin:/opt/chefdk/embedded/bin:$PATH if which rbenv > /dev/null; then eval "$(rbenv init - zsh)"; fi +export PATH=/opt/chefdk/bin:/opt/chefdk/embedded/bin:$PATH
PATHに追加するときに、gemのロードのあとからchefdkを追加する必要があった
雑感
- つらかった
Don't Repeat Yourself