Я пробовал это, но это не сработало и, похоже, для osx. У меня есть свежая установка Ubuntu 10.10 с rvm, rails 3 и ruby 1.9.2. У меня есть новое приложение 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
вместо этого.Ответы:
Если вы пробовали
sudo chmod go-w /usr/local/bin
другой ответ, попробуйте:вместо.
Похоже, что произошло то, что каким-то образом ваш домашний каталог (
/home/chance
) был добавлен в ваш$PATH
(список каталогов, которые ОС ищет при попытке найти исполняемый файл для запуска), а также были изменены его разрешения, чтобы любой мог писать в него. Это потенциальная проблема безопасности, поскольку другой пользователь может поместить исполняемый файл в этот каталог, который вы могли случайно запустить. Руби замечает это и выдает предупреждение.Эта команда изменяет права доступа к каталогу, чтобы он больше не был доступен для записи.
В unix права доступа к файлам указаны для трех категорий: владельца файла (пользователя), группы файла (группы) и всех остальных (других). (Подробнее о разрешениях файлов unix см. В Google).
Итак, разбивая команду выше:
chmod
- изменить "режим" файла (т.е. его права доступа)go
- для группы (г) и других (о)-w
- (минус w) удалить разрешение на запись/home/chance
- рассматриваемый файл (или каталог)В другом ответе каталог, который вызывал проблему
/usr/local/bin
, принадлежал пользователю root, поэтомуsudo
необходимо изменить права доступа к нему./home/chance
это ваш домашний каталог, который принадлежитchance
пользователю, который может изменять права доступа к нему - неsudo
требуется.источник
Lubuntu 16.04
наличии предупреждения:Insecure world writable dir /tmp/. in PATH, mode 041777
также вызывал бесконечный цикл предупреждения. Затем я выполнилsudo chmod go-w /tmp
команду, и проблема была решена.Вы используете команду chmod go-w для любого пути, который вам дает терминал.
Итак, если в качестве пути в сообщении об ошибке указано / usr / local:
warning: Insecure world writable dir /usr/local in PATH, mode 040777
Ты пишешь
источник
Мне пришлось использовать -R, чтобы исправить мою:
источник
(Если у вас Mac) Попробуйте опцию «Восстановить права доступа к диску» из дисковой утилиты.
Вероятно, пара строк в подробном журнале скажет:
источник
Я использую Mac, поэтому / home / username у меня не работает. Однако, когда я попытался изменить разрешения для / User / username , ошибка не исчезла.
То, что заставило его работать, было
chmod go-w /User/username/.rvm
источник
Если ваша среда не позволяет вам исправить эту ошибку должным образом (т.е. ruby находится в общем сетевом ресурсе или в каком-то другом), см. Этот ответ , чтобы узнать, как устранить ошибку .
источник