Próbowałem tego, ale nie zadziałało i wydawało się, że jest przeznaczone dla OSX. Mam świeżą instalację Ubuntu 10.10 z rvm, rails 3 i ruby 1.9.2. Mam nową aplikację rails, ale użycie klejnotu lub szyn powoduje wyświetlenie następujących ostrzeżeń (z opóźnieniem).
$ 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
Na wszelki wypadek, oto mój plik 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
? Jeśli tak, spróbujchmod go-w /home/chance
zamiast tego.Odpowiedzi:
Jeśli próbowałeś
sudo chmod go-w /usr/local/bin
z innej odpowiedzi, spróbuj:zamiast.
Wydaje się, że zdarzyło się to, że w jakiś sposób twój katalog domowy (
/home/chance
) został dodany do twojego$PATH
(lista katalogów przeszukiwanych przez system operacyjny, próbując znaleźć plik wykonywalny do uruchomienia), a także zmieniły się jego uprawnienia, aby każdy mógł w nim pisać. Jest to potencjalny problem z bezpieczeństwem, ponieważ inny użytkownik może umieścić plik wykonywalny w tym katalogu, który możesz przypadkowo uruchomić. Ruby zauważa to i wyświetla ostrzeżenie.To polecenie zmienia uprawnienia katalogu, tak że nie można już do niego zapisywać.
W systemie UNIX uprawnienia do plików są określone dla trzech kategorii: właściciela pliku (użytkownika), grupy pliku (grupy) i wszystkich pozostałych (pozostałych). (Zobacz Google, aby uzyskać więcej informacji na temat uprawnień do plików w systemie UNIX).
Rozbijając powyższe polecenie:
chmod
- zmień 'tryb' pliku (tj. jego uprawnienia)go
- dla grupy (g) i innych (o)-w
- (minus w) usuń uprawnienia do zapisu/home/chance
- odpowiedni plik (lub katalog)W drugiej odpowiedzi katalog, który powodował problem
/usr/local/bin
, to katalog, którego właścicielem jest root, więcsudo
wymagana jest zmiana uprawnień do niego./home/chance
to Twój katalog domowy, którego właścicielem jestchance
użytkownik, który może zmieniać uprawnienia do niego - nie jestsudo
wymagane.źródło
Lubuntu 16.04
ostrzeżenie:Insecure world writable dir /tmp/. in PATH, mode 041777
również powodowało nieskończone zapętlenie ostrzeżenia. Następnie wykonałemsudo chmod go-w /tmp
polecenie i rozwiązałem problem.Używasz chmod go-w do dowolnej ścieżki wskazanej przez terminal.
Więc jeśli mówi / usr / local jako ścieżkę w komunikacie o błędzie:
warning: Insecure world writable dir /usr/local in PATH, mode 040777
Ty piszesz
źródło
Musiałem użyć -R, aby naprawić moje:
źródło
(Jeśli używasz komputera Mac) Wypróbuj opcję „Napraw uprawnienia dysku” w narzędziu dyskowym
Prawdopodobnie kilka wierszy w dzienniku szczegółów powie:
źródło
Jestem na komputerze Mac, więc / home / username nie działa dla mnie. Jednak gdy próbowałem zmienić uprawnienia dla / User / username , błąd nie ustąpił.
Rzecz, która sprawiła, że to działało, to
chmod go-w /User/username/.rvm
źródło
Jeśli twoje środowisko nie pozwala na poprawną naprawę tego błędu (np. Ruby żyje w udziale sieciowym lub podobnym), zobacz tę odpowiedź, aby dowiedzieć się, jak usunąć błąd .
źródło