1 votes

Utilisation de RVM et installation de la gemme rspec pour Ruby

Je pense avoir installé rvm correctement. Lorsque je tape rvm -v, le résultat est le suivant

rvm 1.25.33 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

Cependant, j'essaie d'installer la gemme rspec. Je tape

gem install rspec

mais la sortie est

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

Que dois-je faire ? Qu'est-ce qui ne va pas ? Je n'arrive pas non plus à comprendre la documentation rvm !

2voto

shsteimer Points 8749

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.

0voto

JKreft Points 390

Cette commande essaie d'installer la gemme dans le répertoire global (disponible pour chaque utilisateur sur l'ordinateur), si c'est ce que vous voulez, exécutez la commande avec sudo . Mais si vous voulez juste installer rspec vous pouvez faire gem install rspec .

Vous pouvez vérifier si vous utilisez l'exécutable gem de rvm en faisant which gem s'il montre une fonction, c'est qu'il vient de rvm. Si la sortie est un chemin, alors faites rvm use default .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X