GithubHelp home page GithubHelp logo

Comments (6)

jaymzh avatar jaymzh commented on April 20, 2024

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.

brianwallace avatar brianwallace commented on April 20, 2024

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.

jaymzh avatar jaymzh commented on April 20, 2024

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.

brianwallace avatar brianwallace commented on April 20, 2024

@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.

brianwallace avatar brianwallace commented on April 20, 2024

@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.

wjimenez5271 avatar wjimenez5271 commented on April 20, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.