【问题标题】:Why ruby gem, brew and sencha cmd not working in MacOS Sierra?为什么 ruby​​ gem、brew 和 sencha cmd 在 MacOS Sierra 中不起作用?
【发布时间】:2016-09-27 11:49:05
【问题描述】:

我对 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,brew 无法正常工作,因为它依赖于 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的选项。您对问题有什么建议吗?

【问题讨论】:

  • 你安装xcode了吗?尝试运行xcode-select --install,需要一些时间
  • 非常感谢,它已修复与xcode command line utility 相关的所有错误。但是 phantomjs-1.9.1-macosx, phantomjs-2.0.0-macosx 仍然存在错误。仅使用 phantomjs-2.1.1-macosx,其中 Sencha Cmd v5.0.3.324 依赖于早期版本的 phantomjs。

标签: ruby phantomjs homebrew sencha-cmd macos-sierra


【解决方案1】:

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 重新运行任何失败的命令。 希望这会有所帮助!

【讨论】:

  • 安装xcode command line utility之后你必须执行sudo chown $(whoami) /usr/local/bin
  • 完全解决了吗?
  • 这是固定错误属于Ruby,gem,brew。然后我们必须更新Sencha Cmd 到版本v6.2.0.103 以及phantomjs-2.1.1-macosx。
猜你喜欢
  • 2017-02-03
  • 2017-08-14
  • 2017-11-07
  • 1970-01-01
  • 2018-06-24
  • 2018-02-04
  • 1970-01-01
  • 2022-10-06
  • 1970-01-01
相关资源
最近更新 更多