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.
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:
bundler
dans un jeu de gemmes global. rvm gemset use global && gem install bundler
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.
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.
Ajoutez la ligne suivante à ~/.bashrc
fichier
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
puis rechargez le fichier:
$ source ~/.bashrc
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)
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
Voici le lien vers le site rvm et la section pertinente https://rvm.io/gemsets/basics/