Erreur "Impossible de trouver le bundle"


107

Lorsque j'essaye de le faire, bundler updatej'obtiens cette erreur:

.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in
`to_specs': Could not find bundler (>= 0) amongst
[rake-0.8.7, rake-0.8.7, rubygems-update-1.8.4] (Gem::LoadError)

Je suis nouveau sur Ruby, est-ce que quelqu'un peut me dire ce qui causerait cela? Rake 0.8.7 est installé.


1
0 vote négatif Cela signifie que vous n'avez pas installé de bundler. Si vous exécutez une «liste de gemmes b», voyez-vous bundler?
Jake Dempsey

Réponses:


214

Assurez-vous que vous entrez dans la mise à jour "bundle", si le gem bundler est installé.

bundle update

Si vous n'avez pas installé de bundler, faites-le gem install bundler.


si vous créez une nouvelle applocation - rails nouveaux et si vous obtenez cette erreur?
AMIC MING

2
Faites un gem list bundleret voyez s'il apparaît. Si ce n'est pas le cas, vous devez l'installer comme indiqué dans ma réponse.
ardavis

10
Cela m'est arrivé après avoir installé une nouvelle version de ruby ​​en utilisant rvm. Ensuite, j'ai dû courir à gem install bundlernouveau
NRR

61

J'ai eu ce problème, puis j'ai fait:

gem install bundle

avis "bundle" et non "bundler" a résolu mon problème.

puis dans votre dossier de projet, faites:

bundle install

puis vous pouvez exécuter votre projet en utilisant:

script/rails server

gem install bundle - cela l'a fait pour moi aussi.
Don Cote

10
Notez que le gem "bundle" est simplement un gem qui déclare "bundler" comme une dépendance, ce qui corrige essentiellement votre faute de frappe. github.com/will/bundle/blob/…
sealocal

13

J'ai eu le même problème. Cela a fonctionné pour moi:

  1. exécutez rvm / script / rvm et ajoutez-le également à votre .profile ou .bash_profile comme indiqué dans https://rvm.io/rvm/install/

  2. utiliser le bundle sans sudo



8

La commande est bundle update(il n'y a pas de "r" dans le "bundle").

Pour vérifier si le bundler est installé, faites: gem list bundlerou même which bundleet la commande listera soit la version du bundler, soit le chemin d'accès. Si rien ne s'affiche, installez le bundler en tapant gem install bundler.


7

J'ai eu le même problème ... quelque chose est arrivé à mon profil bash qui n'a pas configuré correctement les trucs RVM.

Assurez-vous que votre profil bash a la ligne suivante:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

Ensuite, j'ai lancé "source ~ / .bash_profile" et cela a rechargé tout ce qui était dans mon profil bash.

Cela a semblé résoudre le problème pour moi.


Merci pour cela. Alors que je savais comment épeler "bundle" vs "bundler", j'avais complètement oublié que j'avais réinstallé zsh et dans le processus, j'ai accidentellement fait sauter cette ligne de mon .zshrc. Je
m'arrachais les

Cette réponse est ancienne mais pour moi a été la solution!
jonnyjava.net

Assurez-vous qu'il s'agit de la dernière ligne de votre fichier de profil
rmcsharry


4

Vous devrez peut-être faire quelque chose comme "rvm use 1.9.2" au préalable pour utiliser le ruby ​​et le jeu de gemmes corrects. Vous pouvez vérifier quel rubis vous utilisez en faisant "quel rubis"


2

J'ai eu ceci après la mise à niveau vers ruby ​​2.1.0. My a PATHété défini dans mon script de connexion pour inclure .gem/ruby/2.0.0/bin. La mise à jour du numéro de version l'a corrigé.


2

Le système fonctionne peut-être "sans racine". Essayez de définir la variable boot-args du firmware nvram sur "rootless = 0". Essayez d'exécuter un ensemble de commandes:

sudo nvram boot-args="rootless=0"; 
sudo reboot

Une fois le redémarrage terminé, exécutez:

sudo gem install bundler

2

Si vous utilisez l' rbenvexécution, vous rbenv rehashpouvez résoudre ce problème après l' installation bundleret le problème persiste.



1

Pour toute personne rencontrant ce problème avec Capistrano: capistrano ne parvient pas à localiser le fichier bundler. La raison pourrait être que vous avez installé le bundler sous un autre gemsetoù le Capistrano ne regarde même pas.

  1. Listez vos ensembles de gemmes.

liste de jeux de gemmes rvm

  1. Utilisez un ensemble de gemmes particulier.

rvm utilise 'my_get_set'

  1. Installez le bundler sous cet ensemble de gemmes.

bundler d'installation de gem

Ensuite, réessayez avec la tâche de déploiement.


0

Dans mon cas, je pense qu'il restait un ancien Ruby sur le système, non enregistré sur rvm, et même si les variables de chemin et la liste des gemmes étaient correctes, il utiliserait toujours l'ancien Ruby lors des déploiements avec Capistrano

Et puis j'ai réalisé que le Ruby que j'avais installé avec rvm n'était pas défini sur celui par défaut. Fonctionnement

rvm alias create default <rvm_registered_ruby>

Corrigé.


0

Juste au cas où, j'ai eu une erreur similaire avec le bundler 2.1.2 et je l'ai résolu avec:

sudo gem install bundler -v 1.17.3

Si plusieurs versions de bundle sont installées, vous pouvez exécuter une version spécifique du bundle de cette façon: bundle _1.17.3_ exec rspec

Bien que les versions ultérieures du bundler semblent assez boguées (ont eu des problèmes sur 3 projets différents sur 2 systèmes d'exploitation), avoir un ancien bundler peut fonctionner le mieux, du moins c'est ce que j'ai sur mon Ubuntu et MacOS

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.