我在安装Homebrew时遇到问题,看起来问题(UTF-8(ArgumentError)错误消息中的无效字节序列)是由于我的PATH出错了。当我运行echo $ PATH时,我得到以下内容(请务必滚动到下面代码块中的最右边以查看错误):
/usr/local/mysql/bin:/opt/subversion/bin/:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:PATH=/usr/local/share/python:$PATH:PATH=/usr/local/share/npm/bin:$PATH:export PATH��:/usr/local/git/bin
我不知道/ usr / local / git / bin路径之前的那些奇怪的字符来自哪里。我使用bash(尝试过zshell,同样的问题)。我无法找到它的来源。我的.bash_profile文件看起来也很干净。
答案 0 :(得分:1)
检查您的~/.profile
,~/.bash_profile
和~/.bashrc
文件。这些值也可能在/etc/profile
或其他系统范围的文件中设置,但错误的性质使我认为它们是您自己手动编辑个人文件的结果。你是决定你可能改变什么以及何时改变的最好的法官。
查找以下条目:
PATH='/usr/local/share/python:$PATH'
PATH='PATH=/usr/local/share/npm/bin:$PATH'
PATH='export PATH��:/usr/local/git/bin'
他们应该看起来像
PATH=/usr/local/share/python:$PATH
PATH=/usr/local/share/npm/bin:$PATH
PATH=$PATH:/usr/local/git/bin
# Not strictly necessary -- PATH is already exported
export PATH
看模式?这些都通过将其设置为PATH
或prefix:$PATH
来为$PATH:suffix
添加值,其中新前缀或后缀是您已安装本地程序包的目录。新值应该是前缀还是后缀可能没什么影响 - 除非您尝试覆盖系统版本(例如,因为/usr/local/git
太旧而安装了/usr/bin/git
- 那么,您的local
版本在PATH
中排在第一位是非常重要的。第一次运行命令时,速度差异也很小;如果它位于PATH
的末尾,则shell必须在查找之前查看更多位置。
引用的差异很大 - PATH=$PATH:suffix
扩展为PATH
的旧值,并添加:suffix
,而PATH='$PATH:suffix'
替换{{1}的旧值添加了带有PATH
的文字字符串$PATH
。你很幸运,这一切都没有完全取代原来的:suffix
,这会使你的shell大体上无法操作(至少在你发现必须使用PATH
而不仅仅是{{ 1}})。