Josh Holland writes: > In the course of some fairly involved yak-shaving, I found the need to > run a Ruby package, and tried running `guix environment --ad-hoc bundler > ruby`. However, running it produced an error: > > $ bundle install > Traceback (most recent call last): > 2: from /gnu/store/5flpa8h2adwb86n49r7p3mbp11p0jafr-profile/bin/bundle:23:in `
' > 1: from /gnu/store/9yqh0g1p5bmxar8dlfp84j4py3j631jv-ruby-2.6.5/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path' > /gnu/store/9yqh0g1p5bmxar8dlfp84j4py3j631jv-ruby-2.6.5/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': Could not find 'bundler' (2.1.0.pre.2) required by your /home/josh/c/gnome-dbus-emulation-wlr/Gemfile.lock. (Gem::GemNotFoundException) > To update to the latest version installed on your system, run `bundle update --bundler`. > To install the missing version, run `gem install bundler:2.1.0.pre.2` > > Indeed I see that gnu/packages/ruby.scm only packages Bundler v1.17.3, > though Bundler 2 was released in January 2019 [0]. I'm not hugely > familiar with the Ruby ecosystem, but reading the release announcement > suggests that they expect users/developers to have both Bundler 1 and > Bundler 2 available. If I hadn't seen this, I'd have gone ahead and > submitted a patch simply upgrading the Bundler package definition, but > I'm not sure if that will then immediately break every package depending > on it that expects Bundler 1. > > Is this a valid concern? Should Guix provide packages for both Bundler > 1 and Bundler 2, or would just Bundler 2 be sufficient? I'll still > write a definition for the new version, but I'll hold off submitting a > patch until I've had some feedback. > > [0]: https://bundler.io/blog/2019/01/03/announcing-bundler-2.html Hi Josh, I'm not particularly sure, but it's probably easier to just provide both. Note that bundler has quite few dependencies in Guix [1], so it would be interesting to see if these all build with Bundler 2. 1: → guix refresh -l bundler Building the following 37 packages would ensure 182 dependent packages are rebuilt Thanks for looking in to this, Chris