Mac(M1芯片)下排查$PATH异常字符以修复Homebrew报错
M1 Mac升级后Homebrew因UTF-8编码错误无法运行
从2012款Mac升级到M1芯片的2021款后,Homebrew完全无法使用,执行任何brew命令(比如brew -help)都会抛出UTF-8编码相关的错误:
/opt/homebrew/Library/Homebrew/PATH.rb:93:in `split': invalid byte sequence in UTF-8 (ArgumentError) from /opt/homebrew/Library/Homebrew/PATH.rb:93:in `block in parse' from /opt/homebrew/Library/Homebrew/PATH.rb:93:in `each' from /opt/homebrew/Library/Homebrew/PATH.rb:93:in `flat_map' from /opt/homebrew/Library/Homebrew/PATH.rb:93:in `parse' from /opt/homebrew/Library/Homebrew/PATH.rb:25:in `initialize' from /opt/homebrew/Library/Homebrew/global.rb:124:in `new' from /opt/homebrew/Library/Homebrew/global.rb:124:in `<top (required)>' from /opt/homebrew/Library/Homebrew/brew.rb:21:in `require_relative' from /opt/homebrew/Library/Homebrew/brew.rb:21:in `<main>'
执行echo $PATH后,发现路径中存在异常的无效字符片段??K-,完整PATH内容如下:
/Users/myUserName/.nvm/versions/node/v16.13.2/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:??K-:~/.dotnet/tools:/Library/Apple/usr/bin
解决步骤
1. 临时验证问题根源
先手动重置PATH为干净的默认值,测试Homebrew是否恢复正常:
export PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
执行完后运行brew -help,如果能正常输出,说明问题确实由PATH中的无效UTF-8字符导致。
2. 定位并清除无效配置
无效片段大概率是旧系统迁移时残留的配置,检查以下常见配置文件:
~/.zshrc(使用zsh时)~/.bash_profile~/.bashrc~/.profile/etc/paths或/etc/paths.d/目录下的文件
打开每个文件,查找包含异常字符或错误PATH拼接的行,直接删除或修正对应内容。
3. 确认修复效果
保存配置文件后,重启终端或执行source ~/.zshrc(对应你的shell配置文件),再次执行echo $PATH确认无效片段已移除,最后运行brew update验证Homebrew恢复正常。
内容的提问来源于stack exchange,提问作者wawaloo_17
相关产品推荐
相关产品推荐

