Customize bundler version
ryansch opened this issue · comments
I'm currently using this project via devenv.sh with the following configuration:
# https://devenv.sh/languages/
languages.ruby.enable = true;
# Uses bobvanderlinden/nixpkgs-ruby to supply any version of ruby
languages.ruby.versionFile = ./.ruby-version;
I think I'm getting bundler from this project since the version devenv
reports via devenv update
isn't available.
How do I update bundler?
Hmm, interesting. Bundler is shipped with Ruby nowadays, so the Ruby packages have it in /bin/bundle
:
$ nix build github:bobvanderlinden/nixpkgs-ruby#"ruby-3" --print-out-paths
/nix/store/52k5x0jcrxxx857ilizpiafk8fy7rfa1-ruby-3.2.2
$ ls -l /nix/store/52k5x0jcrxxx857ilizpiafk8fy7rfa1-ruby-3.2.2/bin
/nix/store/52k5x0jcrxxx857ilizpiafk8fy7rfa1-ruby-3.2.2/bin/bundle
That means if there is no other bundler package available it will pick the one shipped with Ruby.
The Ruby module in devenv places the bundler package from nixpkgs
below the Ruby package:
Maybe that prioritizes the bundler from nixpkgs lower than the one from Ruby and thus the one from Ruby ends up in the devenv profile?
Does it help to add packages = lib.mkBefore [ pkgs.bundler ];
to devenv.nix
?