浏览代码

pyenv: only run if pyenv not in $PATH (#8462)

This is needed if in between the update of `$PATH` the `$commands` parameter hasn't
been updated, i.e. if there was no `rehash` or `hash -rf` or automatic rehash.

Co-authored-by: Marc Cornellà <marc.cornella@live.com>
Vlad Dmitrievich 4 年之前
父节点
当前提交
aaa87063a2
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      plugins/pyenv/pyenv.plugin.zsh

+ 2 - 1
plugins/pyenv/pyenv.plugin.zsh

@@ -1,7 +1,8 @@
 # This plugin loads pyenv into the current shell and provides prompt info via
 # the 'pyenv_prompt_info' function. Also loads pyenv-virtualenv if available.
 
-FOUND_PYENV=$+commands[pyenv]
+# Load pyenv only if command not already available
+command -v pyenv &> /dev/null && FOUND_PYENV=1 || FOUND_PYENV=0
 
 if [[ $FOUND_PYENV -ne 1 ]]; then
     pyenvdirs=("$HOME/.pyenv" "/usr/local/pyenv" "/opt/pyenv" "/usr/local/opt/pyenv")