I'm very new to Chef and going over the tutorials plus the Learning Chef
book by O'Reilly. Everything is going very smooth but I'm having issues
keeping the system Ruby and Chef Ruby working separate from each other.
One of the issues I found is working with test kitchen.
$ /opt/chefdk/bin/kitchen list
!!!!!! The berkshelf' gem is missing and must be installed or cannot be properly activated. Run gem install berkshelfor add the following to your Gemfile if you are using Bundler:gem 'berkshelf'`.
------Exception-------
Class: Kitchen::UserError
Message: Could not load or activate Berkshelf (can't activate
json-1.7.7, already activated json-1.8.1)
Please see .kitchen/logs/kitchen.log for more details
Also try running kitchen diagnose --all for configuration
I checked and found that the issue appears to be the system Gem is
referencing a different version from the Chef Gem.
I had the same issue...If you want to use the version of ruby that came
with ChefDK do the following…assuming you are using BASH…
Do: echo 'eval "$(chef shell-init bash)"' >> ~/.bash_profile
Worked for me.
I'm very new to Chef and going over the tutorials plus the Learning Chef
book by O'Reilly. Everything is going very smooth but I'm having issues
keeping the system Ruby and Chef Ruby working separate from each other.
One of the issues I found is working with test kitchen.
$ /opt/chefdk/bin/kitchen list
!!!!!! The berkshelf' gem is missing and must be installed or cannot be properly activated. Run gem install berkshelfor add the following to your Gemfile if you are using Bundler:gem 'berkshelf'`.
------Exception-------
Class: Kitchen::UserError
Message: Could not load or activate Berkshelf (can't activate
json-1.7.7, already activated json-1.8.1)
Please see .kitchen/logs/kitchen.log for more details
Also try running kitchen diagnose --all for configuration
I checked and found that the issue appears to be the system Gem is
referencing a different version from the Chef Gem.
sorry for the half mail
Check where is your ruby: which ruby
check if anything is pointing to GEM_PATH or GEM_HOME , etc . env would
show all.
rvm or rbenv system wide installation can do this. I use omnibus chef, and
i prefer to run them with env -i /opt/chef/foo.rb . Some time things break
due to certain environment variable not being set like HOME, PATH, LC_*
etc. You can set environment variables explicitly. env -i FOO=BAR
/opt/chef/embedded/bin/ruby foo.rb . etc.
I had the same issue...If you want to use the version of ruby that came
with ChefDK do the following…assuming you are using BASH…
Do: echo 'eval "$(chef shell-init bash)"' >> ~/.bash_profile
Worked for me.
I'm very new to Chef and going over the tutorials plus the Learning Chef
book by O'Reilly. Everything is going very smooth but I'm having issues
keeping the system Ruby and Chef Ruby working separate from each other.
One of the issues I found is working with test kitchen.
$ /opt/chefdk/bin/kitchen list
!!!!!! The berkshelf' gem is missing and must be installed or cannot be properly activated. Run gem install berkshelfor add the following to your Gemfile if you are using Bundler:gem 'berkshelf'`.
------Exception-------
Class: Kitchen::UserError
Message: Could not load or activate Berkshelf (can't activate
json-1.7.7, already activated json-1.8.1)
Please see .kitchen/logs/kitchen.log for more details
Also try running kitchen diagnose --all for configuration
I checked and found that the issue appears to be the system Gem is
referencing a different version from the Chef Gem.
$ kitchen verify
-----> Starting Kitchen (v1.11.1)
!!!!!! The berkshelf' gem is missing and must be installed or cannot be properly activated. Run gem install berkshelfor add the following to your Gemfile if you are using Bundler:gem 'berkshelf'`.
------Exception-------
Class: Kitchen::UserError
Message: Could not load or activate Berkshelf (cannot load such file -- berkshelf)
Please see .kitchen/logs/kitchen.log for more details
Also try running kitchen diagnose --all for configuration