当我打开终端时,显示错误
(eval):export:1: not valid in this context: Fusion.app/Contents/Public:/Applications/Postgres.app/Contents/Versions/latest/bin
我不知道是什么导致了这个错误,主要是因为我没有安装 Postgres。错误似乎可能来自 VMware Fusion,而我确实有。
我使用的是 macOS 10.14.5、zsh 5.3,安装了 VMware Fusion 11.1.0。我以前安装了 Postgres(用于与 Heroku 配合使用),但我意识到我的项目不需要它,所以我删除了它。
答案1
事实证明,问题在于我的路径包含 Postgress 和 VMWare,尽管我卸载了它们。它们不是添加到 .zshrc 中,而是添加到 /etc/paths.d(一个目录)中。在这个目录中,有 3 个文件,其中两个名为com.vmware.fusion.public
和postgresapp
。我只是从 /etc/paths.d 中删除了这些文件,现在我的 zsh 启动时没有错误!
感谢@MatrixManAtYrService 引导我找到这个问题的答案。
答案2
我得到了类似的信息:
(eval):export:1: not valid in this context: -A
就我而言,它是在gcloud
安装程序修改我的 .zshrc 以添加此行时启动的:
if [ -f '/Users/matt/Downloads/google-cloud-sdk/completion.zsh.inc' ]; then . '/Users/matt/Downloads/google-cloud-sdk/completion.zsh.inc'; fi
每当我尝试使用 Tab 键完成 gcloud 命令时都会出现错误。
注释掉该行可消除错误。VMWare 或 Postgres 安装程序是否修改了您的 .zshrc?您可能需要删除它所做的任何修改。
答案3
VMWare Fusion 通过添加文件将自身添加到路径中/etc/paths.d/com.vmware.fusion.public
。该文件包含未转义的空格,这导致了错误。
运行sudo su root
切换到 root 用户(/etc/paths.d 目录的所有者),然后运行sudo echo /Applications/VMware\\\ Fusion.app/Contents/Public > /etc/paths.d/com.vmware.fusion.public
用转义空格字符的路径替换该路径,然后exit
返回到您的用户。