45 votes

warning: répertoire insécure en écriture lorsque je lance une commande ruby ou gem

Je ne sais pas pourquoi je reçois ceci, mais je viens d’installer RVM, le nouveau Ruby 1.9, et de réinstaller un tas de gemmes, et j’obtiens ce

/Users/johnsmith/.rvm/rubies/ruby-1.9.1-p378/bin/gem:4: avertissement: Répertoire insécure en écriture dans le répertoire / opt / local / bin dans PATH, mode 040777

Tout fonctionne toujours autrement, mais je me demandais s'il était possible de m'en débarrasser.

91voto

Alex Martelli Points 330805

Juste chmod go-w /opt/local/bin à l'invite du shell (en fonction des autorisations, il vous faudra peut-être sudo pour le faire).

10voto

jstreebin Points 340

Pour clarifier, quel que soit le chemin qui retourne après avoir indiqué un monde non sécurisé en écriture, c'est ce que vous utilisez.

Ainsi, au lieu de: chmod go-w / opt / local / bin, vous devez remplacer / opt / local / bin par votre chemin.

3voto

Trouvez votre chemin de gemme afin que nous puissions éditer le gem de l’atelier. Exécutez les opérations suivantes dans votre shell:

 $ ruby -r rubygems -e "p Gem.path"
 

Accédez à votre chemin gem et cd dans la version de bundler actuellement utilisée. Maintenant, accédez à lib -> bundler et ouvrez runtime.rb dans votre éditeur de texte favori. Ajoutez "$ VERBOSE = nil" à la ligne 2.

 require "digest/sha1" 
$VERBOSE = nil 
module Bundler   
class Runtime < Environment
    include SharedHelpers

    def setup(*groups)
      # Has to happen first
      clean_load_path
 

...

1voto

Connor McKay Points 148

Si votre environnement ne vous permet pas de corriger cette erreur correctement (c.-à-d. Que ruby réside sur un partage réseau ou autre), reportez-vous à cette réponse pour trouver un moyen de supprimer l'erreur .

1voto

Yasky Points 1834

Dans certains cas (comme le mien), la pile va plus loin que opt/local/bin . Dans ce cas, utilisez

 sudo chmod go-w opt/local/*/bin usr/local/*/bin opt/local/bin usr/local/bin
 

Dans tous les cas, l'erreur indique où se trouve le monde non sécurisé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X