Comments (6)
It's a bit hard for us to debug this since we don't use berkshelf - someone else added the berks code. That said - you seemed to cut the error message off before the actual output... what's the output it got from the berks command?
from grocery-delivery.
Hi @jaymzh, thanks for taking a look even though you don't use berks or wrote the code.
The full berks output is as follows -- nothing else that seems too enlightening to me.
---- Begin output of cd /Users/bwallace/github/grocery-delivery/grocery_delivery_work/chef-repo/cookbooks/mycookbook && /opt/chefdk/bin/berks install --config=/Users/bwallace/github/grocery-delivery/config.json && /opt/chefdk/bin/berks upload --config=/Users/bwallace/github/grocery-delivery/config.json ----
STDOUT:
STDERR: /Users/bwallace/.rvm/gems/ruby-2.2.1/gems/bundler-1.11.2/lib/bundler/rubygems_integration.rb:304:in `block in replace_gem': addressable is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
from /opt/chefdk/bin/berks:4:in `<main>'
---- End output of cd /Users/bwallace/github/grocery-delivery/grocery_delivery_work/chef-repo/cookbooks/mycookbook && /opt/chefdk/bin/berks install --config=/Users/bwallace/github/grocery-delivery/config.json && /opt/chefdk/bin/berks upload --config=/Users/bwallace/github/grocery-delivery/config.json ----
from grocery-delivery.
OK, so it looks like berks
itself doesn't work inside your bundle. I don't know how you created your bundle, but GD is just running berks
which depends on addressable
which isn't there.
bundle install addressable
may fix you up, but the tl;dr is bundle exec berks
needs to work for this to work.
from grocery-delivery.
@jaymzh, thanks for the tips. I think you pointed me on the right track and that there were missing dependencies in my gemset.
I eventually was able to get bundle exec berks
to run successfully by adding gem 'berkshelf', '~> 4.2.0'
into the GD Gemfile. It seemed that this was the easiest way to ensure that all deps were met. This was in a clean rvm environment with a fresh gemset.
But I still ran into further berks dependency issues. I think the berks gem in my "grocery_delivery" gemset is conflicting with the chefdk berks version I have installed.
---- Begin output of cd /Users/bwallace/github/grocery-delivery/grocery_delivery_work/chef-repo/cookbooks/mycookbook && /opt/chefdk/bin/berks install --config=/Users/bwallace/github/grocery-delivery/config.json && /opt/chefdk/bin/berks upload --config=/Users/bwallace/github/grocery-delivery/config.json ----
STDOUT:
STDERR: /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'berkshelf' (= 4.2.0) - did find: [berkshelf-4.2.3] (Gem::LoadError)
Checked in 'GEM_PATH=/Users/bwallace/.rvm/gems/ruby-2.2.0@grocery_delivery:/Users/bwallace/.rvm/gems/ruby-2.2.0@global', execute `gem env` for more information
from /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems/dependency.rb:328:in `to_spec'
from /opt/chefdk/embedded/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1028:in `find_by_name'
from /opt/chefdk/bin/berks:45:in `<main>'
---- End output
And ChefDK info:
> chef --version
Chef Development Kit Version: 0.11.2
chef-client version: ERROR
berks version: ERROR
kitchen version: 1.5.0
At this point in time I am going to close this issue/question as I think the root cause are all related to dependencies within my environment. I having a feeling that there may be a GD gem dependency that is missing form the Gemfile, but until I get this working I won't know for sure.
I'll update this issue if I get it working.
from grocery-delivery.
@wjimenez5271 Looks like you may have the been the original contributor of the GD berkshelf code. If you have any tips on what may be going wrong with my berkshelf dependencies, I would definitely appreciate it!
from grocery-delivery.
@brianwallace the berkshelf stuff doesn't do much other than call the berkshelf resolver to do its thing. It is calling the berkshelf CLI binary, so GD doesn't need to be aware of any berkshelf ruby libraries or gems, only the path the the bin.
I would double check that your pointing to the right berkshelf binary (if you are using ChefDK that will likely be somewhere in /opt/chefdk) in the Grocery Delivery config:
https://github.com/facebook/grocery-delivery/blob/master/bin/grocery-delivery#L153
from grocery-delivery.
Related Issues (15)
- Berkshelf leaves modified files after run causing git merge issues HOT 7
- Repo types HOT 2
- GD breaks on symlinks and files with spaces HOT 1
- support git submodules HOT 2
- Changes not reflected in chef-manage/knife cookbook list HOT 6
- Roles upload error HOT 3
- GD returns false positive exit status HOT 1
- Timestamp option (--t or -T) does not work HOT 1
- Unable to sync json role definitions HOT 1
- Incompatible OpenSSL library prevents GD from running on F28 HOT 14
- Missing install instructions HOT 5
- Undefined method 'level' for GroceryDelivery::Log::Module HOT 3
- grocery fails to delete cookbooks when you have multiple versions HOT 2
- Install Instructions for Chef Automate HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grocery-delivery.