web-dev-qa-db-ja.com

警告:Rubyまたはgemコマンドを実行すると、安全でない世界の書き込み可能なディレクトリ

なぜこれが表示されるのかはわかりませんが、RVMと新しいRuby 1.9をインストールし、たくさんのgemを再インストールしたところです。

/Users/johnsmith/.rvm/rubies/Ruby-1.9.1-p378/bin/gem:4:警告:PATH、モード040777の安全でない世界書き込み可能なディレクトリ/ opt/local/bin

それでもすべては別の方法で実行されますが、それを取り除く方法があるかどうか疑問に思いました。

46
Trip

ただchmod go-w /opt/local/binシェルプロンプトで(権限に応じて、Sudoを実行する必要がある場合があります)。

90
Alex Martelli

明確にするために、それが安全でない世界の書き込み可能であると言った後に戻るパスはすべてあなたが使うものです。

したがって、代わりに:chmod go-w/opt/local/bin/opt/local/binをパスが何であるかに置き換えます。

10
jstreebin

Bundler gemを編集できるように、gemパスを見つけます。シェルで以下を実行します。

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

Gemパスに移動し、現在使用されているバージョンのbundlerにcdします。次にlib-> bundlerに移動し、お好きなテキストエディターでruntime.rbを開きます。 2行目に「$ VERBOSE = nil」を追加します。

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

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

...

ご使用の環境でこのエラーを適切に修正できない場合(Rubyネットワーク共有などに存在する場合)を参照してください この回答でエラーを抑制する方法について =。

1
Connor McKay

(私のような)場合によっては、スタックはopt/local/binよりも深くなります。その場合は、

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

いずれの場合も、エラーは安全でない世界の場所を示します。

1
iGbanam