web-dev-qa-db-fra.com

warning: répertoire en écriture insécurisé du monde lorsque j'exécute une commande Ruby ou gem

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

/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 y avait un moyen de m'en débarrasser.

42
Trip

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

89
Alex Martelli

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 devriez remplacer/opt/local/bin par votre chemin. 

10
jstreebin

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 d'accès à la gemme et au cd dans la version du bundler en cours d'utilisation. 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

...

3

Si votre environnement ne vous permet pas de corriger cette erreur correctement (c'est-à-dire que Ruby vit sur un partage réseau ou autre), voir cette réponse pour un moyen de supprimer l'erreur .

1
Connor McKay

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é. 

0
iGbanam