[chef] Re: Re: Problems between Chef Ruby and system Ruby


Chronological Thread 
  • From: Ranjib Dey < >
  • To: " " < >
  • Subject: [chef] Re: Re: Problems between Chef Ruby and system Ruby
  • Date: Tue, 23 Dec 2014 17:40:17 -0800

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.





On Tue, Dec 23, 2014 at 5:23 PM, Seth Floyd < " target="_blank"> > wrote:
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.

Seth Floyd

On Tue, Dec 23, 2014 at 7:09 PM, Robert Freiberger < " target="_blank"> > wrote:
Hello, 

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 berkshelf` or 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. 

$ gem list | grep json
json (1.7.7)

$ /opt/chefdk/embedded/bin/gem list | grep json
fog-json (1.0.0)
json (1.8.1, 1.7.7)
multi_json (1.10.1)

I know that many people are using RVM, but I had troubles making this work and would like to know what is best practice (from a newbie point of view). 

Thanks so much!
Robert






Archive powered by MHonArc 2.6.16.

§