RVM contrôle vers quel Ruby votre shell actuel pointe, mais il n'installe pas par défaut un Ruby contrôlé par l'utilisateur pour vous. Si vous n'avez pas installé de version spécifique de Ruby via RVM, le seul Ruby que vous avez est celui qu'OS X a installé et qui requiert sudo
les autorisations d'écriture.
Vous pouvez voir les rubis disponibles avec :
> rvm list
rvm rubies
=* ruby-2.1.2 [ x86_64 ]
# => - current
# =* - current && default
# * - default
Dans mon cas, j'ai installé la version 2.1.2 et c'est à la fois le Ruby actuel et le Ruby par défaut lorsque je démarre un nouveau shell :
> which ruby
/Users/ian/.rvm/rubies/ruby-2.1.2/bin/ruby
Pour installer une version de Ruby avec RVM, faites :
> rvm install ruby-2.1
No binary rubies available for: osx/10.10/x86_64/ruby-2.1.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
...snip...
Install of ruby-2.1.3 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
Maintenant que vous avez installé un Ruby géré par RVM et qui vous appartient spécifiquement, vous pouvez gem
-installer tout ce que vous voulez sans avoir besoin d'utiliser sudo
:
> rvm list
rvm rubies
* ruby-2.1.2 [ x86_64 ]
=> ruby-2.1.3 [ x86_64 ]
# => - current
# =* - current && default
# * - default
> rvm gemdir
/Users/ian/.rvm/gems/ruby-2.1.3
> gem install packer-config
Cette gemme a été installée pour la version 2.1.3 de Ruby que RVM a mis sous le nom de ~/.rvm
pour moi. Si je devais passer à la version 2.1.2 via rvm use ruby-2.1.2
Je ne verrais pas cette gemme, je devrais la réinstaller pour qu'elle soit disponible pour cette version de Ruby.
Vous pouvez également gérer les gemmes comme des ensembles afin qu'elles ne soient même pas partagées avec une installation Ruby. Voir le Les bases du gemset sur le site web de RVM pour plus de détails.