【问题标题】:can't chown /usr/local for homebrew in Mac OS X 10.13 High Sierra无法在 Mac OS X 10.13 High Sierra 中为自制软件 chown /usr/local
【发布时间】:2018-03-09 14:34:43
【问题描述】:

Homebrew 需要 /usr/local 中的权限,因为没有其他人使用我的笔记本电脑,所以我总是这样做

sudo chown -R $(whoami) $(brew --prefix)

但在高山脉,这给了

chown: /usr/local: Operation not permitted

解决方法是什么?

【问题讨论】:

  • 解决方法:sudo chown -R "$USER":admin /usr/local/*
  • 像这样在末尾添加/*sudo chown -R $(whoami) $(brew --prefix)/* 为我工作

标签: permissions homebrew


【解决方案1】:

我正在使用 MacBook Pro macOS Catalina 10.15.4

我创建了一个new admin account,但 brew 抛出了一个错误。

因此,我按照这篇文章的步骤进行操作,有效的是:

sudo chown -R $(whoami) $(brew --prefix)/*

【讨论】:

  • 谢谢伙计,你拯救了我的一天。我正在使用 Big Sur。
【解决方案2】:

问题不断出现……深入挖掘后,我发现只有卸载 Homebrew 然后重新安装它才能解决这个问题。

卸载会删除你所有的brew包,你可以先将brew list的输出保存在一个文件中,以记录安装了哪些包。

卸载 Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

然后重新安装:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

【讨论】:

  • 这是在“High” Sierra 升级后修复我的自制软件的唯一方法。我的错误是:gh4x-mbpr:~ gh4x$ brew link git Linking /usr/local/Cellar/git/2.15.0... Error: Permission denied @ dir_s_mkdir - /usr/local/libsudo chown -R $(whoami) $(brew --prefix)/* 没有帮助...
  • 难以置信。第一次失败,卸载脚本失败,第二次安装成功。
  • 您可能想先将brew list 的输出保存在一个文件中,以记录安装了哪些软件包。
  • 其他各种 Mojave 自制修复程序都不能在我的系统上运行。卸载/重新安装完美。
  • 也适用于 Catalina
【解决方案3】:

我也在 10.13 High Sierra。我尝试了以前的建议;没有任何效果。最终我尝试先安装command-line tools

xcode-select --install

然后(重新)运行 brew install 命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

终于成功了。

【讨论】:

    【解决方案4】:

    我没有 /user/local/Frameworks 文件夹,所以这为我修复了它

    sudo mkdir -p /usr/local/Frameworks
    sudo chown -R $(whoami) /usr/local/Frameworks
    

    我有 OSX High Sierra

    【讨论】:

      【解决方案5】:

      确保您没有在主文件夹或安装需要访问的任何文件夹上设置锁定。

      即使权限和所有权设置正确,并且您当前使用正确的用户/或 Root 用户登录,它也不允许您创建新文件夹或目录。

      【讨论】:

        【解决方案6】:

        尝试禁用System Integrity Protection。来自文档:

        可以使用 csrutil(1) 命令配置系统完整性保护。

        您可以通过在终端中运行以下命令来检查您的系统当前是否启用了系统完整性保护:

        $ csrutil status
        System Integrity Protection status: enabled.
        

        要启用或禁用系统完整性保护,您必须启动到恢复操作系统并从终端运行 csrutil(1) 命令。

        通过重新启动计算机并在启动时按住 Command 和 R 键来引导到恢复操作系统。 从实用程序菜单启动终端。 输入以下命令: $ csrutil enable

        在机器上启用或禁用系统完整性保护后,需要重新启动。

        【讨论】:

        • 虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
        • 这有点像从台锯上卸下防护罩。它有效,有时可能需要,但如果您不必这样做,它会更安全。无论如何,将自己设置为 /usr/local 的所有者以使自制软件工作似乎总是一种黑客行为。
        • 这是非常不鼓励的!除非用户不做他/她正在做的事情,否则这是非常危险的。
        • @oligofren :D :D :D 加油。放松,这不是英语word in context 比赛。 :D :D 警告用户的标志。但是好吧,那么你为我挑选措辞 :p :p
        【解决方案7】:

        我只是运行这个,一切都会在高山上得到照顾:

        /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

        【讨论】:

          【解决方案8】:

          如果你使用的是 zsh 因为您来自 bash,所以您可能必须更改 $PATH。 你应该在 .zshrc 中添加export PATH=$HOME/bin:/usr/local/bin:$PATH

          那么它应该可以工作了,这个问题在我的mac中通过这种方式解决了。

          【讨论】:

            【解决方案9】:

            您不能更改/usr/local 本身的权限,但您可以更改下面文件夹的权限,因此修复了
            sudo chown -R $(whoami) /usr/local/*

            【讨论】:

            • 仍然遇到同样的问题
            • 在 MacOS High Sierra 上运行。工作。谢谢。
            • 为我工作:macOS High Sierra 10.13.6
            【解决方案10】:

            我关注了this,但问题仍然存在。
            所以,我重新安装了 homebrew 而没有卸载以前的。它现在正在工作!
            (我不知道怎么做)

            【讨论】:

            • 我建议完全卸载 Homebrew 然后重新安装。
            • 多次安装确实有效,直到我卸载才能修复它。
            • 卸载会搞砸一切。我已经安装了大量的软件包,并且必须重新安装它们。可悲的是,这一切以前都有效,因为我有那些包。
            【解决方案11】:

            很遗憾,您不能再在 High Sierra 中使用 /usr/local。解决方法是 sudo mkdir /usr/local/include/usr/local/Frameworks 如果它们不存在,并且

            sudo chown -R $(whoami) $(brew --prefix)/*

            感谢 ilovezfs 提供了这个简单的解决方法和出色的自制软件!

            【讨论】:

            • 还是不行。 $ brew update 错误:/usr/local 目录不可写。
            • 尝试卸载并重新安装 Homebrew:stackoverflow.com/questions/46459152/…
            • 正如我在其他地方评论的那样,卸载会删除你所有的 brew 包。
            • $(brew --prefix) 应该评估为/usr/local/,我相信。
            猜你喜欢
            • 1970-01-01
            • 2018-10-30
            • 2018-06-22
            • 1970-01-01
            • 2018-06-11
            • 2018-06-21
            • 2018-10-07
            • 2019-05-01
            • 1970-01-01
            相关资源
            最近更新 更多