web-dev-qa-db-fra.com

L'installation de gem échoue avec une erreur d'autorisations

J'ai mis à jour mon Mac OS à 10,9 Mavericks hier. Ma version actuelle de Ruby indique que 

Ruby 2.0.0p247 (2013-06-27 révision 41674) [universal.x86_64-darwin13]

J'ai installé Rails sur ma machine et lorsque j'essaie d'installer des gems, le message suivant s'affiche:

 Récupération: eventmachine-1.0.3.gem (100%) 
 ERREUR: lors de l’exécution de gem ... (Gem :: FilePermissionError) 
 Vous n’avez pas le droit d’écrire pour/Library/Ruby /. Répertoire Gems/2.0.0 .

J'essaie tout cela dans mon répertoire personnel. Aucune suggestion?

10
Aniruddha

Utilisez un gestionnaire de versions Ruby, tel que RVM ou rbenv .

Je ne peux pas parler pour rbenv, mais RVM ajoute une bin Ruby spécifique à la version à votre PATH à laquelle vous avez accès. Vous n'avez donc pas à utiliser Sudo (vous pouvez donc installer des gems dans votre situation actuelle, mais très découragé).

de même, rbenv est ajouté à votre $PATH, mais il utilise une cale.

11
Stuart Nelson

Lorsque j'ai eu la même erreur, c'est parce que je n'avais pas de gestionnaire de versions Ruby installé, il utilisait par défaut la version de Ruby fournie avec mon ordinateur, qui appartient à root.

Comme c'est une très mauvaise idée d'utiliser Sudo pour installer des gemmes, j'ai installé RVM avec Ruby 2.1.2

\curl -sSL https://get.rvm.io | bash -s stable --Ruby=2.1.2

puis fait en sorte qu'il était utilisé par défaut en exécutant

rvm use Ruby-2.1.2

RVM crée un nouvel emplacement pour stocker votre Ruby et vos pierres précieuses avec vos autorisations utilisateur afin que vous n'ayez pas à utiliser Sudo ni obtenir une erreur d'autorisation. Le nouvel emplacement de gemme est:

~/.rvm/gems

Alors continue comme tu étais ...

gem install ....
10
Kingsley Ijomah

Je n'ai pas de RVM installé. J'ai eu cette erreur parce que j'ai installé rbenv mais je n'ai pas encore lancé rbenv init

Après avoir inséré le contenu de la commande rbenv init dans .bash_profile, gem install fonctionne comme prévu.

Il m'est également arrivé de définir d'abord rbenv global <Ruby-version> sur une version téléchargée de Ruby.

5
Jonathan Lin

Juste pour vous dire à tous après avoir passé une bonne heure ou plus à essayer d’installer RubyGems ... à rubygems-2.4.5 'Sudo'm’a fait passer! Ça marche un régal ... 

0
user2431002