web-dev-qa-db-fra.com

Bundler: impossible de trouver le bundle gem (> = 0.a) avec le bundle exécutable (Gem :: GemNotFoundException) pendant l'installation du bundle avec gem

J'exécute le script suivant:

gem install rdoc --no-document
gem install bundle
bundle

production:

+ gem install rdoc --no-document
Successfully installed rdoc-6.1.1
1 gem installed
+ gem install bundle
Successfully installed bundle-0.0.1
Parsing documentation for bundle-0.0.1
Done installing documentation for bundle after 2 seconds
1 gem installed
1 gem installed
+ bundle install
/usr/lib/Ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
    from /usr/lib/Ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
    from /srv/myuser/.gem/Ruby/2.5.0/bin/bundle:23:in `<main>'

J'ai ajouté /srv/myuser/.gem/Ruby/2.5.0/bin sur mon chemin, j'ai donc pu installer des gemmes.

les gem env spectacles

RubyGems Environment:
  - RUBYGEMS VERSION: 2.7.7
  - Ruby VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/Ruby/gems/2.5.0
  - USER INSTALLATION DIRECTORY: /srv/myuser/.gem/Ruby/2.5.0
  - Ruby EXECUTABLE: /usr/bin/Ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - SPEC CACHE DIRECTORY: /srv/myuser/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /etc
  - RUBYGEMS PLATFORMS:
    - Ruby
    - x86_64-linux
  - GEM PATHS:
     - /usr/lib/Ruby/gems/2.5.0
     - /srv/myuser/.gem/Ruby/2.5.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--user-install"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - Shell PATH:
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/bin

gem list montre les gemmes installées. Je peux également trouver un ensemble lorsque j'exécute:

ls -ltrah /srv/myuser/.gem/Ruby/2.5.0/bin

J'ai également essayé d'installer bundler mais cela n'a pas aidé non plus. Qu'est-ce que je fais mal?

gem which bundle ne montre rien .gem spec bundle le montre.

Mise à jour: j'ai essayé d'installer bundler avant d'exécuter bundle mais le même problème apparaît pendant:

gem list bundle spectacles

bundle (0.0.1)
bundler (2.0.1)
74
DenCowboy

Je viens de faire face à la même erreur aujourd'hui. La version du bundler que j'avais installée dans mon système précédemment était: 1.16.6

J'ai suivi les instructions dans les documents officiels du bundler sur Comment mettre à niveau vers Bundler 2 et les deux étapes ci-dessous ont fait l'affaire:

  1. gem install bundler (Vous aide à obtenir la dernière version de bundler qui est à ce jour 2.0.2)
  2. bundle update --bundler
0
boddhisattva

Vous devez installer la version exacte de Bundler que RubyGems recherche en exécutant:

$ gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"
0

J'ai vu un message d'erreur similaire pour le bundle travis après la mise à niveau de mac os vers Catalina.

Traceback (most recent call last):
    2: from /usr/local/bin/travis:22:in `<main>'
    1: from /usr/local/Cellar/Ruby/2.6.5/lib/Ruby/2.6.0/rubygems.rb:263:in `bin_path'
/usr/local/Cellar/Ruby/2.6.5/lib/Ruby/2.6.0/rubygems.rb:284:in `find_spec_for_exe': can't find gem travis (>= 0.a) with executable travis (Gem::GemNotFoundException)

Pour résoudre le problème, j'ai réinstallé travis à partir de la source.

brew remove travis;
brew install -s travis