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é.

Steven
la source
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.

Ardavis
la source
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
Dorian
la source
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

bjelli
la source
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.

Zabba
la source
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.

Brian Vitrue
la source
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
6

Selon cette réponse à une question similaire, cela devrait suffire:

rvmsudo gem install bundler.

À votre santé

Andrew Khouzam
la source
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"

mgauthier
la source
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é.

Thomas Leonard
la source
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
Bogdan Ustyak
la source
2

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

eebbesen
la source
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.

Nerf
la source
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é.

Cyril Duchon-Doris
la source
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

Daniel Garmoshka
la source