Appelez rake
depuis l'application Rails après la mise à jour de Ruby 2.5.0, ne fonctionne pas.
$ rake
Traceback (most recent call last):
22: from ./bin/rake:4:in `<main>'
21: from ./bin/rake:4:in `require_relative'
20: from /Users/user/work/hw/relocations_app/config/boot.rb:5:in `<top (required)>'
19: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/2.5.0/rubygems/core_ext/kernel_require.rb:39:in `require'
18: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
17: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `require'
16: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/setup.rb:10:in `<top (required)>'
15: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler.rb:107:in `setup'
14: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/runtime.rb:20:in `setup'
13: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/runtime.rb:108:in `block in definition_method'
12: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:226:in `requested_specs'
11: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:237:in `specs_for'
10: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:170:in `specs'
9: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:247:in `resolve'
8: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:806:in `converge_locked_specs'
7: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:874:in `expand_dependencies'
6: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:874:in `each'
5: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:887:in `block in expand_dependencies'
4: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:887:in `each'
3: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/gems/2.5.0/gems/bundler-1.16.1/lib/bundler/definition.rb:888:in `block (2 levels) in expand_dependencies'
2: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/2.5.0/rubygems/core_ext/kernel_require.rb:39:in `require'
1: from /Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
/Users/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/2.5.0/rubygems/core_ext/kernel_require.rb:135:in `require': cannot load such file -- bundler/dep_proxy (LoadError)
config/boot.rb
# frozen_string_literal: true
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
bundler/setup
ne peut pas être requis.
Le même problème se pose avec le passager, pour démarrer l'application Rails avec cela:
Error ID: 309814d3
Error details saved to: /tmp/passenger-error-yCUWSg.html
Message from application: cannot load such file -- bundler/setup (LoadError)
/var/www/vhosts/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
/var/www/vhosts/user/.rvm/rubies/Ruby-2.5.0/lib/Ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
/usr/lib/Ruby/vendor_Ruby/phusion_passenger/loader_shared_helpers.rb:456:in `activate_gem'
/usr/lib/Ruby/vendor_Ruby/phusion_passenger/loader_shared_helpers.rb:323:in `block in run_load_path_setup_code'
/usr/lib/Ruby/vendor_Ruby/phusion_passenger/loader_shared_helpers.rb:461:in `running_bundler'
/usr/lib/Ruby/vendor_Ruby/phusion_passenger/loader_shared_helpers.rb:322:in `run_load_path_setup_code'
/usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
/usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
/usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
Quelqu'un a-t-il le même problème avec Ruby 2.5.0?
La solution est simple: mettre à jour RubyGems jusqu'à la version 2.7.4
gem update --system
Malheureusement, la seule solution consiste à mettre à niveau Bundler vers> = 1.16.1. Voir https://github.com/heroku/heroku-buildpack-Ruby/pull/738 pour un exemple où cela est corrigé en théorie, mais est malheureusement bloqué par Heroku.
Mettez à niveau vers Bundler 1.16.1+ et vous n'aurez plus de problèmes.