启动终端时出现错误消息。[zsh]

启动终端时出现错误消息。[zsh],zsh,rbenv,Zsh,Rbenv,当我启动终端时,我收到以下消息: /usr/lib/rbenv/libexec/../completions/rbenv.bash:16: command not found: complete ~ % 其他一切似乎都很正常。我在运行tmux时没有收到消息,只有在启动新终端时才会收到消息 这是我的~/.zshrc文件: # load custom executable functions for function in ~/.zsh/functions/*; do source $fun

当我启动终端时,我收到以下消息:

/usr/lib/rbenv/libexec/../completions/rbenv.bash:16: command not found: complete
~ % 
其他一切似乎都很正常。我在运行tmux时没有收到消息,只有在启动新终端时才会收到消息

这是我的~/.zshrc文件:

# load custom executable functions
for function in ~/.zsh/functions/*; do
  source $function
done

# extra files in ~/.zsh/configs/pre , ~/.zsh/configs , and ~/.zsh/configs/post
# these are loaded first, second, and third, respectively.
_load_settings() {
  _dir="$1"
  if [ -d "$_dir" ]; then
    if [ -d "$_dir/pre" ]; then
      for config in "$_dir"/pre/**/*(N-.); do
        . $config
      done
    fi

    for config in "$_dir"/**/*(N-.); do
      case "$config" in
        "$_dir"/pre/*)
          :
          ;;
        "$_dir"/post/*)
          :
          ;;
        *)
          if [ -f $config ]; then
            . $config
          fi
          ;;
      esac
    done

    if [ -d "$_dir/post" ]; then
      for config in "$_dir"/post/**/*(N-.); do
        . $config
      done
    fi
  fi
}
_load_settings "$HOME/.zsh/configs"

# aliases
[[ -f ~/.aliases ]] && source ~/.aliases
alias sz='source ~/.zshrc'

# Local config
[[ -f ~/.zshrc.local ]] && source ~/.zshrc.local

### Added by the Heroku Toolbelt
export PATH="/usr/local/heroku/bin:$PATH"

# rbenv config
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/bin:$PATH"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
这是什么原因造成的?我怎样才能消除它?我可以成功地调用我的Ruby版本,并且已经运行了
rbenv init
rbenv rehash

rbenv version
2.3.0 (set by /home/drempel/.rbenv/version)

ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]

上发布了一个关于rbenv init脚本的问题,该问题导致zsh用户出现问题。这在以后的版本中已修复。答案是将
eval“$(rbenv init-”
更改为
eval“$(rbenv init-zsh)”
。我这样做了,但没有清除错误消息。在仔细阅读我的~/.zshrc文件后,我意识到它正在从~/.zsh/configs加载文件

在~/.zsh/configs/post/path.zsh中有另一个rbenv init config:

# ensure dotfiles bin directory is loaded first
PATH="$HOME/.bin:/usr/local/sbin:$PATH"

# load rbenv if available
if command -v rbenv >/dev/null; then
  eval "$(rbenv init - --no-rehash)"
fi

# mkdir .git/safe in the root of repositories you trust
PATH=".git/safe/../../bin:$PATH"

export -U PATH

我更改了行
eval“$(rbenv init-no rehash)”
以反映
eval“$(rbenv init-zsh-no rehash)”
,这解决了我的问题。

上发布了一个关于rbenv init脚本导致zsh用户出现问题的问题。这在以后的版本中已修复。答案是将
eval“$(rbenv init-”
更改为
eval“$(rbenv init-zsh)”
。我这样做了,但没有清除错误消息。在仔细阅读我的~/.zshrc文件后,我意识到它正在从~/.zsh/configs加载文件

在~/.zsh/configs/post/path.zsh中有另一个rbenv init config:

# ensure dotfiles bin directory is loaded first
PATH="$HOME/.bin:/usr/local/sbin:$PATH"

# load rbenv if available
if command -v rbenv >/dev/null; then
  eval "$(rbenv init - --no-rehash)"
fi

# mkdir .git/safe in the root of repositories you trust
PATH=".git/safe/../../bin:$PATH"

export -U PATH

我更改了行
eval“$(rbenv init--no rehash)”
以反映
eval“$(rbenv init--zsh--no rehash)”
,这解决了我的问题。

complete
是一个与可编程完成相关的Bash内置代码;Zsh没有。听起来Zsh正在评估为Bash编写的内容。感谢您提供的信息,这很有帮助!我发现我的问题不是rbenv。虽然我的确切问题已被描述和修复[不幸的是,它不适用于我的具体情况。我开始一次删除一个部分并保存~/.zsh文件,直到错误停止出现,我将问题缩小到_load_settings(){…}
complete
是一个与可编程完成相关的Bash内置项;Zsh没有它。听起来Zsh正在评估为Bash编写的内容。感谢您提供的信息,这很有帮助!我发现我的问题不是rbenv。尽管我的确切问题已经描述并修复[不幸的是,它不适用于我的特定情况。我开始一次删除一个节并保存~/.zsh文件,直到错误停止出现,我将问题缩小到_load_settings(){…}