web-dev-qa-db-fra.com

ERREUR: Gem bundler n'est pas installé, exécutez d'abord `gem install bundler`

Salut, j'ai probablement essayé d'installer le Ruby bundle gem. Je suis les instructions gem install bundle après avoir reçu ce message, mais cela ne fonctionne toujours pas lorsque je tape bundle -v. Je tape aussi

which bundle et recevez

/Users/edmundmai/.rvm/bin/bundle

donc ça existe !! Alors pourquoi ça ne marche pas !! Y a-t-il un problème avec le mystérieux $ PATH que je ne reçois pas? (Je suis un noob).

Voici mon .bash_profile:

PATH=$PATH:~/bin
export PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a Shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

Voici mon .bashrc:

PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 

Voici mon bijou env:

RubyGems Environment:
- RUBYGEMS VERSION: 1.8.24
- Ruby VERSION: 1.9.3 (2012-04-20 patchlevel 194) [x86_64-darwin11.3.1]
- INSTALLATION DIRECTORY: /Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd
- Ruby EXECUTABLE: /Users/edmundmai/.rvm/rubies/Ruby-1.9.3-p194/bin/Ruby
- EXECUTABLE DIRECTORY: /Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd/bin
- RUBYGEMS PLATFORMS:
  - Ruby
  - x86_64-darwin-11
- GEM PATHS:
   - /Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd
   - /Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@global
- GEM CONFIGURATION:
   - :update_sources => true
   - :verbose => true
   - :benchmark => false
   - :backtrace => false
   - :bulk_threshold => 1000
   - "install" => "--no-rdoc --no-ri"
   - "update" => "--no-rdoc --no-ri"
- REMOTE SOURCES:
   - http://rubygems.org/

echo $ PATH

/Users/edmundmai/.rvm/bin:/Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd/bin:/Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@global/bin:/Users/edmundmai/.rvm/rubies/Ruby-1.9.3-p194/bin:/Users/edmundmai/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Users/edmundmai/bin:/Users/edmundmai/bin

MISE À JOUR Donc, après avoir essayé de parcourir à nouveau le didacticiel RoR, j'ai répété quelques-unes des étapes précédentes dans le chapitre dans l'une de mes deux fenêtres de terminal (appelons-les Terminal # 1 et Terminal # 2). Le terminal # 2 ne fonctionne toujours pas (la ligne de commande n'est sur aucun répertoire, juste le répertoire par défaut) tandis que le terminal # 1 (dans mon répertoire sample_app) fonctionne. Je pense rvm get head && rvm reload pourrait être la clé? Mais cela signifie-t-il que je dois l'exécuter à chaque fois que j'ouvre mon terminal? Consultez mes commandes du terminal # 1 pour avant et après (j'ai supprimé une partie de la sortie afin qu'il soit plus clair quelles étaient mes lignes d'entrée):

Edmunds-MacBook-Pro:sample_app edmundmai$ bundle -v
ERROR: Gem bundler is not installed, run `gem install bundler` first.
Edmunds-MacBook-Pro:sample_app edmundmai$ gem install
ERROR:  While executing gem ... (Gem::CommandLineError)
Please specify at least one gem name (e.g. gem build GEMNAME)
Edmunds-MacBook-Pro:sample_app edmundmai$ rvm -v


rvm 1.15.8 (master) by Wayne E. Seguin <[email protected]>, Michal Papis     <[email protected]> [https://rvm.io/]

Edmunds-MacBook-Pro:sample_app edmundmai$ rspec spec/
No DRb server is running. Running in local process instead ...
........

Finished in 0.36709 seconds
8 examples, 0 failures

Randomized with seed 59500

Edmunds-MacBook-Pro:sample_app edmundmai$ subl .
Edmunds-MacBook-Pro:sample_app edmundmai$ bundle install --binstubs=./bundler_stubs
Using rake (0.9.2.2) 
...
...
(**list of stuff)
Using uglifier (1.2.3) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
Edmunds-MacBook-Pro:sample_app edmundmai$ bundle show bundler
/Users/edmundmai/.rvm/gems/Ruby-1.9.3-p194@Rails3tutorial2ndEd/gems/bundler-1.2.0

Je ne sais pas très bien ce que fait $ PATH. Si vous avez besoin de plus d'informations, n'hésitez pas à me le dire et je vous le fournirai.

32
bigpotato

Je pense que c'est le problème: vous avez installé un bundler sur un gemset spécifique, c'est pourquoi il n'est disponible que lorsque vous êtes dans le répertoire de votre application (je suppose qu'il y a un .rvmrc fichier dedans).

Vous avez quelques options:

  1. Installez bundler dans un jeu de gemmes global. rvm gemset use global && gem install bundler
  2. Si vous avez installé Homebrew, faites simplement brew install Ruby et évitez complètement rvm. (Il y a aussi rbenv et ry comme alternatives à rvm, mais j'utilise juste 1.9.3 dans toutes mes applications, donc Homebrew va bien.)

Pour référence, $PATH est une variable d'environnement Shell contenant une liste de répertoires contenant des exécutables (par exemple, echo, ls, vim, etc.). C'est intrinsèque aux coquilles.

85
jmdeldin

Parfois, c'est juste que vous n'approvisionnez pas correctement rvm, car vous n'êtes pas dans un shell de connexion (en utilisant l'écran?). Type

 source ~/.rvm/scripts/rvm 

Et utilisez n'importe quelle commande de bundle.

53
hammady

Ajoutez la ligne suivante à ~/.bashrc fichier

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

puis rechargez le fichier:

$ source ~/.bashrc
4
jlucasps

Même moi, j'ai eu le même problème,

Dans le serveur rvm n'a pas été sélectionné par défaut.

rvm use 1.9.3 --default

gem install bundler

résolu mon problème

(Le problème se produit uniquement lors de l'utilisation de rvm)

1
devudilip

Si vous utilisez rvm, créez un ensemble de gemmes distinct, qui sont des ensembles de gemmes autonomes.

rvm use 1.9.3@myApplicationNameHere --create --default
  • myApplicationNameHere = changez ceci en votre nom d'application
  • create = crée un ensemble de gemmes
  • default = signifie utiliser cette version de Ruby et gemset par défaut

Voici le lien vers le site rvm et la section pertinente https://rvm.io/gemsets/basics/

0
Eric Brooke