Rails“不安全世界可写dir /Library/Ruby/Gems/1.8 in PATH,模式040777

完全是Rails的新手。 昨天我花了几个小时撞到一堵砖墙,试图在我的Mac上正确安装所有东西。 最后,我认为我已经开始工作,所以我开始尝试完成本教程: http : //net.tutsplus.com/tutorials/ruby/the-intro-to-rails-screencast-i-wish-i -had /

一切顺利,直到大约4分钟的标记,当我在命令行输入给定的指令并得到此错误消息。

> rails g /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:199: warning: Insecure world writable dir /Library/Ruby/Gems/1.8 in PATH, mode 040777 gem install minitest /Library/Ruby/Gems/1.8/gems/turn-0.9.6/lib/turn/minitest.rb:9:in `require': no such file to load -- minitest/unit (LoadError) from /Library/Ruby/Gems/1.8/gems/turn-0.9.6/lib/turn/minitest.rb:9 from /Library/Ruby/Gems/1.8/gems/turn-0.9.6/lib/turn.rb:13:in `require' from /Library/Ruby/Gems/1.8/gems/turn-0.9.6/lib/turn.rb:13 from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `require' from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `require' from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `each' from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `require' from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `each' from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `require' from /Library/Ruby/Gems/1.8/gems/bundler-1.2.1/lib/bundler.rb:128:in `require' from /Applications/MAMP/htdocs/railstest/tasks/config/application.rb:13 from /Library/Ruby/Gems/1.8/gems/railties-3.2.8/lib/rails/commands.rb:24:in `require' from /Library/Ruby/Gems/1.8/gems/railties-3.2.8/lib/rails/commands.rb:24 from script/rails:6:in `require' from script/rails:6 

我在这里看到了一些类似问题的其他post,这表明这与文件permisisons有关。 即使在摆弄权限之后,我仍然无法让它工作。 权限是:

 /Library: rwxr-xr-x /Library/Ruby: rwxr-xr-x /Library/Ruby/Gems: rwxr-xr-x /Library/Ruby/Gems/1.8: rwxrwxrwx 

试图在Gems / 1.8上chmod给我一条错误信息:“无法在/Library/Ruby/Gems/1.8上更改文件模式:不允许操作”

那么我需要做什么?

我正在运行Mac OS 10.7.5,我有XCode 4.5.1,也安装了命令行工具,如果有任何重要的话。

我不能承认自己是Rails专家,但严格来说,从UNIX方面来看,1.8目录是全局可写的。 rwxrwxrwx部分意味着所有者,组和其他人可以读取(r),写入(w)和执行(x)该目录中的任何文件。 所以,我不能保证这会起作用,因为这里可能会有一个更根深蒂固的问题,但尝试输入sudo chmod og-w /Library/Ruby/Gems/1.8 。 这将剥夺“组”和“其他”用户写入目录的能力; 因此,它将不再是“世界可写”,因此权限应显示为rwxr-xr-x。 另外,如果您之前没有在尝试chmod之前输入sudo ,那么可能是因为您尝试更改系统目录的权限而导致无法更改权限的错误。 对不起,如果我是一个迂腐的人; 我只想确保其他可能遇到背景的人也会理解。

如果这不起作用,还有一些其他解决方案可以解决这个问题 。 如果没有别的,根据那里给出的答案之一,我建议使用rvm,因为它会保留OS X完整附带的系统副本,这也可以防止系统更新中出现任何可能的破坏。

最后,如果您还没有,请查看此网站 。 这是本书的全文,作者自己免费提供。 我自己并没有超过安装阶段,但按照这些说明我发现它非常轻松。

我不认为警告实际上与您遇到的问题有任何关系。 rails可执行文件无法识别命令generator ,因为generate了正确的命令。

您也可以键入rails g作为快捷方式。