J'ai une machine qui exécute Ubuntu Hardy, qui fournit son propre paquet RubyGems. Malheureusement cette version de RubyGems (1.1.1) est trop ancienne pour faire quoi que ce soit d'utile, j'ai donc décidé de mettre à jour manuellement RubyGems à la version actuelle (1.3.6). Cette partie s'est bien déroulée, et si je fais gem -v
, j'obtiens 1.3.6
ce qui est attendu. Le problème est quand j'essaie de faire: sudo gem install rack
, elle renvoie cette erreur:Erreurs d'installation RubyGems à la fois en utilisant 'sudo' et en n'utilisant pas sudo
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/username/.gem
Habituellement, lorsque j'installe des pierres précieuses en tant que root, il sait l'installer dans /usr/lib/ruby/gems
, alors pourquoi est-il vérifier mon répertoire du tout? Une autre bizarrerie est quand je ne gem install rack
(pas en tant que root), il est dit:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/lib/ruby/gems/1.8 directory.
qui est là où je veux aller. J'ai déjà essayé d'effacer source_caches, en essayant différentes versions de RubyGems (1.3.5), forçant l'installation dans /usr/lib
avec -i
en vain. Des idées sur pourquoi RubyGems est si insistante sur vérifier mon répertoire /home
lors de l'installation en tant que root?
Pas de différence entre les deux, bien que dans la section GEM CHEMINS: '/ usr/lib/ruby / gemmes/1.8' et'/home/nom d'utilisateur/.gem/ruby / 1.8'. Ne devrait-il pas y avoir par défaut avec sudo? –
Ils sont les mêmes sur mon système, mais seulement après que je suis passé à travers et «nettoyé» tout après avoir recompilé 1.9. Ce que je vérifié: 1. supprimé la commande gem utilisé un (avait un dans/usr/bin et/usr/local/bin 2. vérifié mon fichier ~/.gemrc et nettoyé le chemin jusqu'au point à mon petit bijou chemin dans/usr/dossier local/lib. Utilisé mon ~/.gem comme une sauvegarde 3. Assorti mon GEM_HOME et les variables d'environnement (GEM_PATH up dans .profile/.bash_profile/.bashrc de) avec le fichier .gemrc 4.Autorisations vérifiées sur les dossiers gem 5. Vous pouvez également vérifier si vous avez quelque chose dans/etc/gemrc – SundayEdition
J'ai donc parcouru ces suggestions et elles semblent toutes vérifier: 1) un seul exécutable gem dans/usr/bin , 2) no .gemrc, 3) Je n'ai jamais défini ces variables dans mon .profile, 4) les dossiers gem avaient des permissions pour root, ce qui devrait être bon pour sudo, 5) non/etc/gemrc. Le seul autre problème est peut-être le fait que mon répertoire personnel vit sur AFS? –