我试过了this但它不起作用,似乎适用于 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
instead.
似乎发生的事情是不知何故你的主目录(/home/chance
) 已添加到您的$PATH
(操作系统在尝试查找要启动的可执行文件时搜索的目录列表)并且其权限也已更改,以便任何人都可以对其进行写入。这是潜在的安全问题,因为其他用户可能会将可执行文件放入此目录中,而您可能会意外启动该可执行文件。 Ruby 注意到了这一点并发出警告。
此命令更改目录的权限,使其不再是全局可写的。
在unix中,文件权限被指定为三类,文件所有者(user)、文件所属组(group)和其他人(other)。 (有关 UNIX 文件权限的更多信息,请参阅 Google)。
所以分解上面的命令:
chmod
- 更改文件的“模式”(即其权限)
go
- 对于组(g)和其他组(o)
-w
-(减w)删除写权限
/home/chance
- 有问题的文件(或目录)
在另一个答案中,导致问题的目录是/usr/local/bin
,由 root 拥有,所以sudo
需要更改其权限。/home/chance
是您的主目录,其所有者是chance
可以更改其权限的用户 - 否sudo
必需的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)