Mac Mojave 10.14.2下Brew Update成功后Brew Upgrade失败求助
解决brew upgrade时libyaml权限拒绝的问题
嘿,我来帮你搞定这个Homebrew升级的权限问题!你遇到的Errno::EACCES: Permission denied错误,本质是Homebrew没有权限在/usr/local/Cellar目录下创建libyaml的安装文件夹,大概率是目录所有权出了问题。
下面给你几个靠谱的解决方案,按顺序尝试就行:
方案1:修复Homebrew核心目录的所有权
这是最常见的解决方法,把/usr/local下Homebrew需要用到的目录所有权改回当前用户:
sudo chown -R $(whoami) /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/libexec /usr/local/sbin /usr/local/share /usr/local/share/doc /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man3 /usr/local/share/man/man5 /usr/local/share/man/man7 /usr/local/share/man/man8
执行完这个命令后,重新运行:
brew upgrade
方案2:手动创建目标目录并修正权限
如果方案1没生效,可以手动创建libyaml的安装目录再改权限:
- 先创建目录:
sudo mkdir -p /usr/local/Cellar/libyaml/0.2.1
- 把目录所有权改成当前用户:
sudo chown -R $(whoami) /usr/local/Cellar/libyaml
- 再次尝试升级:
brew upgrade
方案3:重新安装Homebrew(终极方案)
如果上面两种方法都不行,可能是Homebrew本身的文件结构出了问题,那就彻底重装:
- 先卸载现有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)"
- 重装完成后,依次执行:
brew update && brew upgrade
小提醒
以后尽量不要用sudo运行brew命令哦!Homebrew设计就是让普通用户有权限操作/usr/local下的目录,用sudo反而会搞乱权限,导致这类问题~
内容的提问来源于stack exchange,提问作者Mark Brown
相关产品推荐
相关产品推荐

