【问题标题】:HomeBrew: Error- /usr/local/Cellar is not writableHomeBrew:错误 - /usr/local/Cellar 不可写
【发布时间】:2016-11-21 06:10:38
【问题描述】:

当我在终端中运行以下命令时:

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

我收到一个错误:

/usr/local/Cellar is not writable. You should change the
ownership and permissions of /usr/local/Cellar back to your
user account:
sudo chown -R $(whoami) /usr/local/Cellar

在 /usr/local/bin/brew update --force 期间失败

我在 S.O 上浏览过类似的帖子,所有帖子都有以下命令作为答案,所以我在终端中运行了以下命令:

  1. sudo chown -R $tejas /usr/local/Cellar
  2. sudo chown -R $tejas:admin /usr/local/Cellar
  3. sudo chown -R $tejas /usr/local
  4. sudo chown -R $tejas:admin /usr/local

我在上述四个命令之后运行了安装命令,但它仍然给我错误。有人可以帮我解决这个问题。谢谢。

【问题讨论】:

  • 你刚刚试过 `sudo chown -R $(whoami) /usr/local/Cellar' 吗?
  • @Musen- 这不是我提到的第一个命令吗?
  • 我猜没有?我的意思是字面上的udo chown -R $(whoami) /usr/local/Cellar,不要用任何东西代替 whoami。
  • $(whoami)$USER 都将解析为您的用户名。
  • 如果我需要同一设备上的多个用户使用它怎么办?

标签: macos homebrew


【解决方案1】:

我遇到了完全相同的问题。我试图重置权限,但有些软件包无论如何都无法安装。重新安装 Homebrew 为我解决了这个问题:

卸载:
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)"

【讨论】:

    【解决方案2】:

    正如 cmets 中所说,只需执行(不做任何替换):

    sudo chown -R $(whoami) /usr/local/Cellar
    

    【讨论】:

      【解决方案3】:

      将 /usr/local 和 Homebrew 的缓存的权限重置为当前用户:

      sudo chown -R $USER:admin /usr/local /Library/Caches/Homebrew
      

      【讨论】:

        【解决方案4】:

        我在 MacOS 上安装 GoAccess 时遇到了同样的问题:

        Error: /usr/local/Cellar is not writable. You should change the
        ownership and permissions of /usr/local/Cellar back to your
        user account:
          sudo chown -R $(whoami) /usr/local/Cellar
        Error: The following directories are not writable by your user:
        /usr/local/Cellar
        /usr/local/share/zsh
        /usr/local/share/zsh/site-functions
        

        我通过运行以下命令修复了它:

         sudo chown -R $(whoami) /usr/local/Cellar /usr/local/share/zsh /usr/local/share/zsh/site-functions
        

        【讨论】:

          【解决方案5】:

          方法一: 这可能适用于较旧的操作系统,因为它设置了目录权限:

           sudo chown -R $USER /usr/local/Cellar
          

          方法 2. 在较新的系统上,无法对目录 istelf 设置权限,但是有一种方法可以通过使用 wilcard(asterisk) '*' 强制为所有子文件夹添加权限,(当然有点危险?)。

          sudo chown -R $USER /usr/local/Cellar/*
          

          方法 3:使用 brew 前缀(从 >=High Sierra 工作)

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

          【讨论】:

            【解决方案6】:

            在@Lemaitre Cedric 和@Rexcirus 的帮助下...我解决了我的问题。

            sudo chown -R $USER:admin /usr/local /Library/Caches/Homebrew
            sudo chown -R $(whoami) /usr/local/Cellar
            

            【讨论】:

              猜你喜欢
              • 2014-12-26
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-10-29
              • 1970-01-01
              • 1970-01-01
              • 2018-05-25
              • 2022-06-28
              相关资源
              最近更新 更多