Ich habe versucht , dies aber es hat nicht funktioniert und schien für osx zu sein. Ich habe eine neue Ubuntu 10.10-Installation mit RVM, Rails 3 und Ruby 1.9.2. Ich habe eine neue Rails-App, aber die Verwendung von Gem oder Rails führt zu den folgenden Warnungen (mit Verzögerung).
$ 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
Nur für den Fall, dass es darauf ankommt, hier ist mein 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
? Wenn ja, versuchen Sie eschmod go-w /home/chance
stattdessen.Antworten:
Wenn Sie es mit
sudo chmod go-w /usr/local/bin
der anderen Antwort versucht haben, versuchen Sie:stattdessen.
Was passiert zu sein scheint, ist, dass Ihr Home-Verzeichnis (
/home/chance
) irgendwie zu Ihrem hinzugefügt wurde$PATH
(die Liste der Verzeichnisse, die das Betriebssystem durchsucht, wenn es versucht, eine ausführbare Datei zum Starten zu finden) und deren Berechtigungen geändert wurden, damit jeder darauf schreiben kann. Dies ist möglicherweise ein Sicherheitsproblem, da ein anderer Benutzer eine ausführbare Datei in dieses Verzeichnis stellen könnte, die Sie versehentlich starten könnten. Ruby bemerkt dies und gibt die Warnung aus.Dieser Befehl ändert die Berechtigungen des Verzeichnisses so, dass es nicht mehr weltweit beschreibbar ist.
Unter Unix werden Dateiberechtigungen für drei Kategorien angegeben: den Dateieigentümer (Benutzer), die Gruppe der Datei (Gruppe) und alle anderen (andere). (Weitere Informationen zu Unix-Dateiberechtigungen finden Sie bei Google.)
Brechen Sie also den obigen Befehl auf:
chmod
- Ändern Sie den 'Modus' der Datei (dh ihre Berechtigungen).go
- für Gruppe (g) und andere (o)-w
- (minus w) Schreibberechtigung entfernen/home/chance
- die betreffende Datei (oder das betreffende Verzeichnis)In der anderen Antwort war das Verzeichnis, das das Problem verursacht hat
/usr/local/bin
, das Root gehört und dahersudo
erforderlich ist, um die Berechtigungen dafür zu ändern./home/chance
ist Ihr Home-Verzeichnis, das demchance
Benutzer gehört, der die Berechtigungen dafür ändern kann - nichtsudo
erforderlich.quelle
Lubuntu 16.04
die Warnung hatte:Insecure world writable dir /tmp/. in PATH, mode 041777
verursachte auch eine Endlosschleife bei der Warnung. Ich habe dann densudo chmod go-w /tmp
Befehl ausgeführt und das Problem behoben.Sie verwenden das chmod go-w für den Pfad, den das Terminal Ihnen gibt.
Wenn also / usr / local als Pfad in der Fehlermeldung angegeben ist:
Du schreibst
quelle
Ich musste -R verwenden, um meine zu reparieren:
quelle
(Wenn Sie einen Mac verwenden) Probieren Sie die Option "Festplattenberechtigungen reparieren" im Festplatten-Dienstprogramm aus
Wahrscheinlich sagen ein paar Zeilen im Detailprotokoll:
quelle
Ich bin in einem Mac, also hat / home / username bei mir nicht funktioniert. Als ich jedoch versuchte, die Berechtigungen für / User / username zu ändern , blieb der Fehler bestehen.
Die Sache, die es zum Laufen gebracht hat, war
chmod go-w /User/username/.rvm
quelle
Wenn Sie in Ihrer Umgebung diesen Fehler nicht ordnungsgemäß beheben können (z. B. Ruby lebt auf einer Netzwerkfreigabe oder Ähnlichem), finden Sie in dieser Antwort eine Möglichkeit, den Fehler zu unterdrücken .
quelle