警告:当我运行ruby或gem命令时,不安全的可写dir

不知道为什么我得到这个,但我刚刚安装了RVM,新的Ruby 1.9,并重新安装了一堆gem,我得到这个

/Users/johnsmith/.rvm/rubies/ruby-1.9.1-p378/bin/gem:4:警告:不安全的可写dir / opt / local / bin在PATH中,模式040777

一切都还在,否则我想知道是否有办法摆脱它。

只要在shell提示符下执行chmod go-w /opt/local/bin (取决于您可能需要sudo来执行的权限)。

为了澄清,不pipe什么途径返回后,它说不安全的世界可写,是你使用的。

所以,而不是:chmod go-w / opt / local / bin你可以用你的pathreplace/ opt / local / bin。

find你的gempath,所以我们可以编辑捆绑gem。 在shell中执行以下命令:

 $ ruby -r rubygems -e "p Gem.path" 

导航到您的gempath,并进入当前使用的捆绑软件的版本。 现在导航到lib – > bundler,并在您最喜欢的文本编辑器中打开runtime.rb。 将“$ VERBOSE = nil”添加到第2行。

 require "digest/sha1" $VERBOSE = nil module Bundler class Runtime < Environment include SharedHelpers def setup(*groups) # Has to happen first clean_load_path 

如果你的环境不允许你正确地解决这个错误(即ruby生活在一个networking共享或类似的),看到这个答案的方法来抑制错误 。

在某些情况下(比如我的),堆栈比opt/local/bin更深。 在这种情况下,使用

 sudo chmod go-w opt/local/*/bin usr/local/*/bin opt/local/bin usr/local/bin 

在任何情况下,错误都会提示不安全的世界。