设置 pyenv 时,找不到 eval 命令

While setting up pyenv, getting eval command not found

如标题所述,我正在通过我朋友 Mac 的帐户将 pyenv 设置为 运行 python 3.8.5。我认为问题来自我的 ~/.zshrc 文件中的这个命令

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval"$(pyenv init-)"\nfi' >>~/.zshrc

到目前为止,我已经检查了 $PATH 命令以确保它和导出命令没有任何问题,但未能解决问题。还尝试在 bash shell 中使用上面的命令,最后使用 ~/.bash_profile 仍然不起作用。由于所有权问题,我无法 运行 酿造 bash 或酿造 zsh。

如果有帮助,我正在按照此 guide 进行设置。

更新:截图

更新 2:

在评论中进行了大量讨论后,我们发现了几个间距问题:缺少 space,还有一个 space 是不间断的 space 而不是普通的 space space:

                                                          |   missing   |
                                                          v             v
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >>~/.zshrc
                                                     ^
                                                     | non-breaking

不间断的 space 特别棘手,因为它在视觉上与普通 space 没有区别。通过 LC_ALL=C cat -v 传输文件使其显示为“M-BM- ”。

注意:至少在 macOS 的美式键盘上,键入 Option-space 会输入一个不间断的 space。它们通常是错误输入的,因为在键入应该正常的 space 时,由于某种原因 Option 键被按下。

编辑 .zshrc 文件以添加缺失的 spaces 并删除不间断的 space 修复它。

顺便说一句,我要在这里补充一点:准确输入 很重要 ,当您有文本源时,通常最好复制粘贴而不是尝试重新输入准确的东西。