ZSH - pyenv 'command not found' on login or new window - works on load。

ZSH - pyenv 'command not found' on login or new window - works on load.

我正在使用 ZSH/oh-my-zsh 和常规的 OSX 终端,尽管在 iTerm 中也会出现同样的问题。我一直在使用 rbenvnvm 没有问题,但最近开始使用 python 和 pyenv,并且 运行 进入了以下问题。在加载新终端 window 时,我在提示符处收到以下消息:

Last login: Sat Apr  1 11:56:46 on ttys001
/Users/jackfuller/.zshenv:3: command not found: pyenv

自从安装 pyenv 后,我的机器似乎明显变慢了。显然加载 pyenv 会减慢速度,但加载时间已经大大减少了。

要注意的是 pyenv 在终端加载后完美运行,据我所知我的 .zshrc 配置正确:

alias dev="cd ~/development"
alias gow="cd ~/goworkspace"
alias dl="cd ~/downloads"

export PATH=/usr/local/bin:$HOME/bin:$PATH

export EDITOR='atom -n'
export PAGER='less -f'

export PATH=$HOME/.rbenv/shims:$PATH
RBENV
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

# NVM
export NVM_DIR="/Users/jackfuller/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm



# PYENV
export PYENV_ROOT=/usr/local/opt/pyenv
eval "$(pyenv init - --no-rehash)"
# if which pyenv > /dev/null; then eval "$(pyenv init - --no-rehash)"; 
   fi


# For go.
export GOPATH="$HOME/goworkspace"
export PATH=$PATH:/usr/local/go/bin
export GOROOT="usr/local/go"

如果有人可以提供 advice/solutions,将不胜感激。环境变量和 shell 配置文件似乎比它们应该的更喜怒无常/令人困惑。

/Users/jackfuller/.zshenv:3: command not found: pyenv 表示您的错误在第 3 行的 .zshenv 中。也许您可以 post 您的 .zshenv#PYENV 之后的 fi 没有被评论是有原因的吗?你也可以做 export PATH=... 一次而不是三次。尝试 which pyenv 找到 pyenv 的路径并查看它是否在您的 $PATH 中。对于未来的使用,我会把我的别名放入 ~/.zsh_aliases 并在 .zshrc 中做一个 source ~/.zsh_aliases,否则一旦你有更多的别名它就会变得非常难看。抱歉,结构化答案不好;)