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

时间:2010-05-09 02:37:36

标签: ruby-on-rails macos rubygems osx-snow-leopard

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

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

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

5 个答案:

答案 0 :(得分:89)

在shell提示下只需chmod go-w /opt/local/bin(取决于您sudo执行此操作所需的权限)。

答案 1 :(得分:10)

澄清一下,无论什么路径在它说不安全的世界可写之后返回,都是你使用的。

所以代替:chmod go -w / opt / local / bin你将用你的路径替换/ opt / local / bin。

答案 2 :(得分:3)

找到您的宝石路径,以便我们可以编辑捆绑宝石。在shell中执行以下命令:

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

导航到您的gem路径并进入当前正在使用的bundler版本。现在导航到lib - >在您喜欢的文本编辑器中打包并打开runtime.rb.在第2行添加“$ VERBOSE = nil”。

require "digest/sha1" 
$VERBOSE = nil 
module Bundler   
class Runtime < Environment
    include SharedHelpers

    def setup(*groups)
      # Has to happen first
      clean_load_path

...

答案 3 :(得分:1)

如果您的环境不允许您正确修复此错误(例如,红宝石存在于网络共享或某些网络共享上),请参阅this answer for a way to suppress the error

答案 4 :(得分:0)

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

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

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