this を試しましたが、機能せず、osx向けのようです。 rvm、Rails 3およびRuby 1.9.2を使用してUbuntu 10.10を新しくインストールしました。新鮮なRailsアプリがありますが、gemまたはRailsを使用すると、次の警告が表示されます(遅れがあります)。
$Rails -v
/home/chance/.rvm/gems/Ruby-1.9.2-p180@global/gems/railties-3.0.5/lib/Rails/script_Rails_loader.rb:11: warning: Insecure world writable dir /home/chance in PATH, mode 040777
/home/chance/.rvm/gems/Ruby-1.9.2-p180@global/gems/bundler-1.0.10/lib/bundler/runtime.rb:136: warning: Insecure world writable dir /home/chance in PATH, mode 040777
Rails 3.0.5
$gem -v
/home/chance/.rvm/rubies/Ruby-1.9.2-p180/bin/gem:4: warning: Insecure world writable dir /home/chance in PATH, mode 040777
1.6.2
念のため、ここに私のGemfileを示します。
source 'http://rubygems.org'
gem 'Rails'
# Bundle Edge Rails instead:
# gem 'Rails', :git => 'git://github.com/Rails/rails.git'
gem 'sqlite3'
gem 'sqlite3-Ruby', :require => 'sqlite3'
gem "haml"
gem "formtastic"
gem "will_paginate"
gem "devise"
gem "delayed_job"
gem "whenever"
gem "memcache-client"
gem "capistrano"
group :testing do
gem "rspec"
gem "rspec-Rails"
gem "autotest-standalone"
gem "autotest-Rails"
gem "autotest-growl"
gem "mocha"
gem "shoulda"
gem "factory_girl_Rails"
end
group :development do
gem "cheat"
gem "bullet"
gem "Ruby-growl"
end
他の回答からSudo chmod go-w /usr/local/bin
を試した場合は、次を試してください。
chmod go-w /home/chance
代わりに。
何が起こったかと思われるのは、ホームディレクトリ(/home/chance
)が$PATH
(OSが起動する実行可能ファイルを見つけようとするときに検索するディレクトリのリスト)に何らかの形で追加され、誰でも書き込めるようにパーミッションが変更されました。別のユーザーがこのディレクトリに実行可能ファイルを置くと、誤って起動する可能性があるため、これはセキュリティ上の問題になる可能性があります。 Rubyはこれに気づき、警告を発行します。
このコマンドは、ディレクトリの権限を変更して、誰でも書き込みができないようにします。
UNIXでは、ファイルの所有者(ユーザー)、ファイルのグループ(グループ)、および他の全員(その他)の3つのカテゴリに対してファイルのアクセス許可が指定されます。 (UNIXファイルのアクセス権の詳細については、Googleを参照してください)。
したがって、上記のコマンドを分解します。
chmod
-ファイルの「モード」を変更します(つまり、その許可)
go
-group(g)およびothers(o)の場合
-w
-(マイナスw)書き込み許可の削除
/home/chance
-問題のファイル(またはディレクトリ)
他の答えでは、問題を引き起こしていたディレクトリは/usr/local/bin
でした。これはルートが所有しているため、Sudo
はそのアクセス許可を変更するために必要です。 /home/chance
は、アクセス許可を変更できるchance
ユーザーが所有するホームディレクトリです。Sudo
は不要です。
chmod go-wを使用して、ターミナルが提供する任意のパスを指定します。
したがって、エラーメッセージのパスとして/ usr/localが指定されている場合:
warning: Insecure world writable dir /usr/local in PATH, mode 040777
あなたが書く
chmod go-w /usr/local
私は-Rを使用して修正しなければなりませんでした:
chmod -R go-w /Users/username
(Macを使用している場合)ディスクユーティリティから[ディスクのアクセス権を修復]オプションを試してください。
おそらく、詳細ログの2、3行は次のようになります。
Permissions differ on “usr”; should be drwxr-xr-x ; they are drwxrwxrwx.
Repaired “usr”
私はMacにいるので、/ home /usernameは機能しませんでした。ただし、/ User /usernameの権限を変更しようとすると、エラーが続きました。
動作したのはchmod go-w /User/username/.rvm
ご使用の環境でこのエラーを適切に修正できない場合(つまり、Rubyネットワーク共有などに存在します)、 エラーを抑制する方法についてのこの回答 =。