web-dev-qa-db-fra.com

Comment «installer en bundle» lorsque votre Gemfile nécessite une ancienne version de bundler?

Je suis dans un ancien projet Rails qui a un Gemfile. J'ai essayé d'ajouter une gemme au Gemfile et bundle install mais a obtenu une erreur:

Bundler could not find compatible versions for gem "bundler":
  In Gemfile:
    Rails (= 3.0.0) Ruby depends on
      bundler (~> 1.0.0) Ruby

  Current Bundler version:
    bundler (1.1.5)

This Gemfile requires a different version of Bundler.

La version de Rails qu'il utilise nécessite un bundler ~> 1.0.0 mais j'ai 1.1.5 installé et je l'utilise pour mes autres projets. Habituellement, j'utiliserais bundle exec ... mais comme il s'agit de bundler dont nous parlons, c'est un peu plus compliqué que ça. Comment puis-je ajouter une gemme à mon Gemfile et exécuter bundle install tout en utilisant la version de bundler dont il a besoin?

51
Andrew

Vous devez d'abord installer la version appropriée de bundler:

% gem install bundler -v '~> 1.0.0'
Successfully installed bundler-1.0.22

Ensuite, forcez rubygems à utiliser la version que vous souhaitez ( voir cet article ):

% bundle _1.0.22_ install
99
alexsanford1

J'ai eu le même problème sur macOS Mojave. J'ai installé la version différente du gem bundler et désinstaller la version actuelle.

gem install bundler -i '2.0.1'

gem uninstall bundler

Me donne ensuite la possibilité de choisir la version à désinstaller et je choisis celle qui crée le problème.

0
gsumk