我对 MacOS Sierra 发布版本10.12 非常抱负,但它确实让我感到沮丧,因为我破坏了开发环境。崩溃了我的大部分项目,这些项目是在以前版本的 OS X El Capitan 上顺利开发和部署的。 Ruby gem显示以下消息:
$ gem -v
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
2.5.0
sencha cmd 无法从Ruby构建错误项目
[INF] executing compass using system installed ruby runtime
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
还要从 phantomjs
构建错误[ERR] BUILD FAILED
[ERR] com.sencha.exceptions.ExProcess: phantomjs process exited with code 139
[ERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMetho
[ERR] dAccessorImpl.java:57)
phantomjs failure/crashed in MacOS Sierra,因为它依赖于Ruby而无法正常工作。消息发生以下错误:
brew update
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Already up-to-date.
在这种情况下,对我来说这是一场灾难。我想从这种情况中得到解脱。谷歌搜索了一个小时或更长时间后发现了专业知识的共同意见,即它很难将其恢复为 OS X El Capitan 。但是可以选择安装 OS X El Capitan 。你有什么关于问题的建议吗?
答案 0 :(得分:0)
最新版本的OSX / macOS实施了一个名为System Integrity Protection的系统,该系统限制用户访问某些目录,例如/usr
,/var
,/sys
等。这些权限可以相当简单地更改(/usr/bin
是我在几次操作系统升级后必须更改的权限)但是我之前提到的顶级目录无法在不启动进入恢复模式的情况下更改权限,甚至使用sudo
或root
。
从错误消息中可以看出Ruby在写入/usr/local/bin
时遇到问题,而Homebrew也使用它来存储二进制文件,Apple也鼓励它用于存储用户自制的可执行文件和二进制文件。要更改/usr/local/bin
和导致问题的任何其他目录的权限,请尝试执行:
sudo chown $(whoami) /usr/local/bin
然后使用失败的Ruby重新运行任何命令。 希望这有帮助!