Nous voulons préparer notre application pour Rails 6.
Bundler could not find compatible versions for gem "actionpack": In Gemfile: rails was resolved to 6.0.0.beta2, which depends on actionpack (= 6.0.0.beta2) rails-controller-testing was resolved to 1.0.4, which depends on actionpack (>= 5.0.1.x) rspec-rails was resolved to 3.8.2, which depends on actionpack (>= 3.0) sprockets-rails (~> 3.2.1) was resolved to 3.2.1, which depends on actionpack (>= 4.0)
J'ai exécuté bundle install
.
gem 'rails', git: 'https://github.com/rails/rails.git', tag: 'v6.0.0.beta2'
Je ne sais pas exactement comment avancer (dois-je commenter toutes les gemmes répertoriées comme problématiques? Il me semble que toutes les dépendances utilisent > =
opérateur - cela ne signifie-t-il pas que l'actionpack (= 6.0.0.beta2) devrait également être OK? Puis-je obtenir des conseils?
3 Réponses :
J'y ai consacré plus de temps et j'ai appris à résoudre ces problèmes. Je suis à peu près sûr que je n'ai pas publié la partie la plus importante de la sortie sur les dépendances.
Normalement, il y a des gemmes qui sont verrouillées sur certaines versions de gemmes. Vous souhaitez les trouver manuellement via la sortie. Faites attention à une sortie comme celle-ci:
gem_xyz was resolved to 3.8.2, which depends on actionpack (< 3.0)
Ensuite, vous pouvez vérifier s'il existe un correctif sur une branche Github spécifique, par exemple. Rails version 6 et utilisez la gemme directement depuis cette branche. Pas super facile mais vous pouvez avancer lentement et préparer votre projet à devenir Rails6 un peu plus tôt ...
J'ai eu le même problème lorsque j'essayais de tester 6.0.0.rc2. J'ai résolu en supprimant le gem minitest-rails-capybara
du Gemfile
et en améliorant les tests du système selon
https://edgeguides.rubyonrails.org/testing.html
Le problème ne vient pas de l'actionpack mais des autres gemmes que vous essayez d'installer, les versions ne sont pas compactables avec actionpack (= 6.0.0.beta2)
rspec-rails (~>3.4.2) and, factory_girl_rails (~>1.0.4)
Vous devez trouver des versions qui sont compactables avec la version de votre actionpack. La version de l'actionpack est déterminée par la version des rails que vous utilisez. J'ai eu une expérience similaire avec
rails-controller-testing was resolved to 1.0.4 rspec-rails was resolved to 3.8.2 sprockets-rails (~> 3.2.1) was resolved to 3.2.1
La mise à niveau des deux résout le problème.
Une chose à essayer est d'abord la mise à jour du bundle. Je crois que si ce n'est pas une installation propre, les gemmes que vous avez déjà installées peuvent être en conflit, ce qui est les problèmes de dépendance que vous voyez ici. Je ne suis cependant pas entièrement convaincu de cela.