无法在 macos sierra 上安装 homebrew

cannot install homebrew on macos sierra

我是运行这个命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

我得到了 hte 错误:

HEAD is now at 79e8cdd Merge pull request #1253 from jawshooah/perf/relocate-text-files
/usr/local/bin/brew: /usr/local/bin/readlink: /bin/bash: bad interpreter: Operation not permitted
/usr/local/bin/brew: /usr/local/bin/readlink: /bin/bash: bad interpreter: Operation not permitted
/usr/local/bin/brew: line 47: /usr/local/Library/Homebrew/brew.sh: No such file or directory
Failed during: /usr/local/bin/brew update --force

Does any one know how to solve this?

可能与文件系统元数据(隔离属性)有关,运行:

ls -l /usr/local/bin

如果您在某些行中看到 @ 字符,例如在 -rwxr-xr-x@ 中,您可以使用以下命令删除文件系统元数据:

xattr -d com.apple.quarantine /usr/local/bin/readlink

阅读此问题以获取更多信息: Mac OS: /usr/bin/env: bad interpreter: Operation not permitted

仅仅因为我在搜索如何解决这个问题时遇到了这个答案,而接受的答案对我不起作用,我想我会 post 我的解决方案。在以一百万种不同的方式重新安装 brew(由于 readlink 问题而出现问题)、重新安装 ruby、xcode-tools 以及地球上所有其他软件之后,我得到了 "duhh" 试图看看 readlink 本身出了什么问题的时刻。

最后,我是这样修复的:

  1. cd /usr/local/bin
  2. rm readlink
  3. 使用此内容创建一个名为 realpath 的文件(或任何您想要的文件)

此处:

#!/usr/bin/env python
import os,sys
print os.path.realpath(sys.argv[1])
  1. chmod +x realpath
  2. ln -s realpath readlink

可以找到上述说明 here. 本质上,我们只是用 Python 的功能实现替换 readlink 他们最初实现的功能,他们的 os.path.realpath 函数。