Autorisation refusée erreur avec RVM
J'ai cherché pour ce problème et je ne pouvais pas trouver des questions similaires. S'il vous plaît garder avec moi si c'est répétitif.
J'ai suivi les guides en RVM site web pour installer RVM et j'ai installé rubis:
syed@rails:~$ rvm list
rvm rubies
ruby-1.8.7-p302 [ i386 ]
=> ruby-1.9.2-p0 [ i386 ]
Comme vous pouvez le voir, j'ai fait de ruby 1.9.2 mon défaut.
C'est mon joyau du répertoire:
syed@rails:~$ rvm gemdir
/home/syed/.rvm/gems/ruby-1.9.2-p0
Maintenant, j'ai essayé d'installer des rails et je me suis jeté l'erreur suivante:
syed@rails:~$ gem install rails
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/syed/.gem/specs
J'ai même fait cela sans faire de différence à l'erreur:
syed@rails:~$ chown -R syed /home/syed/.rvm/
Actuellement, mon environnement ressemble à ceci:
syed@rails:~$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.2 (2010-08-18 patchlevel 0) [i686-linux]
- INSTALLATION DIRECTORY: /home/syed/.rvm/gems/ruby-1.9.2-p0@rails3
- RUBY EXECUTABLE: /home/syed/.rvm/rubies/ruby-1.9.2-p0/bin/ruby
- EXECUTABLE DIRECTORY: /home/syed/.rvm/gems/ruby-1.9.2-p0@rails3/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/syed/.rvm/gems/ruby-1.9.2-p0@rails3
- /home/syed/.rvm/gems/ruby-1.9.2-p0@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
Je ne comprends pas pourquoi il est en train d'installer des gems à mon système gem chemin d'accès au répertoire?
source d'informationauteur Syed Aslam | 2010-11-29
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce même problème et je l'ai résolu en faisant ce qui suit:
Il semble que RVM a été d'essayer de créer cette "specs" le dossier, mais n'ont pas les autorisations pour le faire.
Je n'aime vraiment pas la accepté de répondre, c'est un hack pas une solution adaptée à la production. Lorsque vous chmod 777, vous donnez à personne sur l'accès à la machine complète de l'accès à ces dossiers.
Il est beaucoup mieux de créer un individu sertie de ce projet, alors assurez-vous de propre avec chown.
Et dans vos gemmes dossier, pour le cas ci-dessus "home/syed/.rvm/gems/" assurez-vous que le nouveau sertie vous avez créé vous appartenant
Si vous ne possédez pas de il alors chown à votre utilisateur
Peut-être essayer de consulter également les "
chown
" autorisations pour les fichiers/répertoires pour en savoir plus à propos de votre message d'erreur.Habituellement, je créer sertie pour les différentes applications/projets donc je ne suis pas un mélange de centaines de pierres précieuses à un endroit au bout de quelques semaines/mois. Essayez ceci:
ou tout simplement
Essayez d'installer vos bijoux après. Si vous voulez les pierres précieuses apparaissent pour chaque sertie de ruby 1.9.2, de passer à la mondiale sertie et installer vos joyaux:
J'ai résolu ce problème, finalement. Il s'avère que mon pare-feu était blocage 199.91.171.93. Quand j'ai ouvert l'accès, je n'ai plus eu
Errno::EACCES
messages. J'ai reçu un diagnostic de cette aide de --verbose et j'ai pu voir que la source a été d'essayer de mettre à jour le $HOME/.gem/specs/rubygems.org%80/rapide/Maréchal.4.8 la zone, mais ne pouvait pas tout simplement parce que le trafic a été bloqué.Je viens d'avoir ce problème et je voulais faire part de ma réponse pour la postérité. Tous les répertoires dans mon Ruby spécifiques RVM répertoire ont été détenus par la racine. J'ai donc dû chown tous.
Je ne sais pas si c'est normal mais après la modification de tous à mon utilisateur non root, le problème a disparu.
Quel est votre chemin? Il semble que vous êtes l'obtention d'un système de version de gem au lieu de le rvm de commande à base de.
Pour ceux qui viennent de Google: Sur Windows, j'ai eu ce problème parce que j'avais une vieille version de Ruby installé dans mon
Program Files
annuaire, des versions plus récentes de Windows ont des restrictions de sécurité. Exécuterruby --version
pour s'assurer qu'il est comme prévu.