J'ai utilisé sudo bundle install
et cela pourrait être la cause du problème?
Maintenant j'ai:
gem -v
2.6.14ruby -v
ruby 2.3.5p376 (2017-09-14 révision 59905) [x86_64-darwin15]jekyll -v
jekyll 3.6.2bundle -v
Bundler version 1.16.0.pre.3
J'obtiens l'erreur suivante lorsque j'essaie d'exécuter bundle exec jekyll serve
ou simplementjekyll serve
/Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:271:in `find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException)
from /Users/myusername/.rvm/rubies/ruby-2.3.5/lib/ruby/site_ruby/2.3.0/rubygems.rb:299:in `activate_bin_path'
from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/bundle:23:in `<main>'
from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `eval'
from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `<MacBooMacBook-MacBook-MacBook-Pro-MacBook-PrMacBook-MacBooMacBMaMacBMaMaMaMaMaMaMaMaMacBMaMaMaMacBMa
De plus, lorsque j'accède au dossier dans lequel j'ai mon blog, cd my_path
je reçois le message suivant:
VM a utilisé votre Gemfile pour sélectionner Ruby, tout va bien - Heroku le fait aussi, vous pouvez ignorer ces avertissements avec 'rvm rvmrc warning ignore / Library / WebServer / Documents / blog / Gemfile'. Pour ignorer l'avertissement pour tous les fichiers, exécutez «avertissement rvm rvmrc ignorer tous les fichiers Gem». Version d'interprète ruby inconnue (je ne sais pas comment gérer): RUBY_VERSION.
Je ne sais pas comment résoudre ce problème. Je veux juste créer mon blog statique et honnêtement, je n'ai aucune idée de Ruby, Gem ou Bundle :) J'apprécierais donc quelques idées!
Réponses:
Le problème dans mon cas est que le
Gemfile.lock
fichier avait uneBUNDLED_WITH
version1.16.1
et une versiongem install bundler
installée2.0.1
, donc il y avait une incompatibilité de version lorsque vous cherchez à redresser le dossiergem install bundler -v 1.16.1
corrigéBien sûr, vous pouvez également modifier vos
Gemfile.lock
« sBUNDLED_WITH
avec la dernièrebundler
version et les utiliser des logiciels récents, comme Sam3000 suggèrela source
BUNDLED_WITH
version pour la dernière version de bundler. Cela a fonctionné pour moi et m'a également évité d'avoir besoin d'un logiciel obsolète :)gem install bundler -v 1.16.1
et maintenant sigem.bat list bundler
je cours, j'obtiens bundler (2.0.1, 1.16.1, 1.9.6). Je ne peux pas changer la version actuelle: l' exécutionbundle.bat _1.16.1 install
me donne cette erreur:Could not find command "_1.16.1"
. Avez-vous une idée, donc je n'ai pas à créer de nouvelle question? Merci!mettra à jour les rubygèmes et résoudra le problème.
la source
gem update --system
travaillé pour moi:ruby
2.5.0 ,bundler
2.0.1 ,macOS
10.13.6 .Mettre à jour:
Selon la réponse de @ noraj et le commentaire de @Niels Kristian, la commande suivante devrait faire le travail.
J'ai écrit ceci au cas où quelqu'un entrerait dans un problème comme le mien.
gem install bundler
montre que tout s'installe bien.Quand j'ai tapé
bundle
il y avait une erreur:Et dans le dossier,
/Users/nikkov/.rvm/rubies/ruby-2.4.0/lib/ruby/gems/2.4.0/gems/
il n'y avait pas debundler-1.16.0
dossier.J'ai corrigé cela avec
sudo gem install bundler
la source
La vraie réponse est ici si vous essayez d'installer bundler 2.0.1 ou 2.0.0 car Bundler nécessite RubyGems v3.0.0
Pour plus d'informations, voir: https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html
la source
Cela l'a corrigé:
rm Gemfile.lock
bundle install
nouveauEDIT: NE PAS LE FAIRE EN PRODUCTION!
Pour la production, allez à cette réponse: https://stackoverflow.com/posts/54083113/revisions
la source
Gemfile.lock
doit être considérée comme un dernier recours car elle peut entraîner d'autres problèmes.La raison en est votre environnement Ruby actuel, vous avez une version différente de bundler avec la version en
Gemfile.lock
.Gemfile.lock
, cela ne cassera rien s'il y a quelque chose d'incampable.Gemfile.lock
et de courirbundle install
.la source
1.17
utilisezgem install bundler -v 1.17
Si vous avez changé la version ruby que vous utilisez avec
rvm use
, supprimez Gemfile.lock et réessayez.la source
Ouvrez Gemfile.lock, qui se trouve à la racine de votre dossier d'application. Faites défiler jusqu'à la fin du fichier et voyez la version du bundle utilisée. Ensuite, assurez-vous d'installer la version du bundler utilisée:
Ou - supprimez le Gemfile.lock et le bundle si vous avez installé une version de bundler supérieure.
Le choix vous appartient, mon ami.
la source
Gemfile.lock
dossier a fait l'affaire!pour installer un bundler correspondant à votre
Gemfile.lock
utilisation:la source
Dans mon cas, les suggestions ci-dessus n'ont pas fonctionné pour moi. Le mien était un scénario peu différent.
Quand j'ai essayé d'installer
bundler
utilisantgem install bundler
.. Mais je devenaisalors j'ai essayé d'utiliser
sudo gem install bundler
alors je devenaispuis j'ai essayé avec
sudo gem install bundler -n /usr/local/bin
(juste à/usr/bin
force de travailler dans mon cas).Et puis installé avec succès
bundler
EDIT: J'utilise MacOS, peut-être
/usr/bin
ne fonctionnera pas pour moi pour cette raison ( https://stackoverflow.com/a/34989655/3786657 commentaire)la source
J'ai eu le même problème aujourd'hui. Je résoudre ce problème en supprimant tout
PATH
dans.bashrc
pour les personnes âgéesrvm
.la source
Mon problème était que j'utilisais RVM et que la mauvaise version de Ruby était activée ...
J'espère que cela aide au moins une personne
la source
Pour ajouter aux nombreuses réponses, mon problème venait de vouloir utiliser le rubis du docker comme base, mais d'utiliser ensuite rbenv par-dessus. Cela fout beaucoup de choses.
Je l'ai corrigé dans ce cas par:
Après cela, rbenv a bien fonctionné. Je ne sais pas comment ces vars env étaient chargés en premier lieu ...
la source
J'ai déclassé le rubis de 2,5.x à 2,4.x dans mon cas particulier.
la source
Je devais le faire
rake clean --force
. Puis a faitgem install rake
et ainsi de suite.la source