sudo chown /usr/bin/local 对于 Homebrew 升级无法永久生效

4

我曾经试过执行 sudo chown $whoami /usr/local/bin 命令,但是在关闭终端并重新打开后仍然遇到权限被拒绝的问题,这个方法无法永久解决该问题。

shaunstanislaus@Master ~ $ brew upgrade
==> Upgrading 3 outdated packages, with result:
git 2.6.1, mysql 5.6.27, node 4.1.2
==> Upgrading git
Error: Permission denied - /usr/local/share/git-core

有没有人知道如何解决它,而不是使用 sudo chown $whoami /usr/local/bin ?请永久解决。 - Shaun Stanislaus
请比较 whoamiecho $whoamiecho $(whoami) 的输出。 - lit
你正在使用Sophos反病毒软件吗? - bfontaine
@bfontaine 我也遇到了同样的问题,而且我正在使用Sophos杀毒软件。我想知道Sophos是否在每次重启后覆盖权限或类似的操作? - ABVincita
1个回答

3
您需要更改 /usr/local/bin/usr/local/share/usr/local/share/man/usr/local/share/man/man1 目录的所有权。
操作步骤如下:
  1. whoami - 这会显示您当前的用户名。
  2. sudo chown -R 'username' /usr/local/bin /usr/local/share /usr/local/share/man /usr/local/share/man/man1(将 username 替换为第 1 步中的用户名)。
现在运行 brew doctor 命令。
如果没有看到任何问题,请继续运行 brew upgrade 命令。
如果您使用 Sophos Anti-Virus,则每次 Sophos 在后台更新时都会重置权限。
他们正在寻求解决方法,并且根据此论坛帖子,计划在 2015 年 11 月中旬之前完成:

https://community.sophos.com/products/free-antivirus-tools-for-desktops/f/17/t/10029


2
如果/usr/local中没有其他受影响的内容,那么只需执行sudo chown -R $(whoami) /usr/local即可。 - David C. Rankin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接