brew update 不工作 -- update.sh 上的错误替换错误

brew update not working -- bad substitution error on update.sh

我刚刚安装了 OSX El Capitan,但开始遇到 Homebrew 问题。首先,我按照以下说明进行操作:https://ohthehugemanatee.org/blog/2015/10/01/how-i-got-el-capitain-working-with-my-developer-tools/

没用。然后我尝试了更改权限、进行硬重置并再次拉出 origin、卸载 Homebrew 并再次安装等等。错误仍然存​​在。我可以 运行 brew doctor 等等,但我不能 运行 brew update(整个问题开始是因为我 运行 brew doctor 并且它建议我 运行 brew更新)。无论如何,这是我 运行 brew update 时出现的内容:

mv: rename /usr/local/Library/Taps/homebrew-versions, to /usr/local/Library/Taps/homebrew/homebrew-versions/homebrew-versions,: No such file or directory /usr/local/Library/Homebrew/cmd/update.sh: line 58: ${#${tap_dir_basename//[^-]}}: bad substitution

这里是update.sh中第58行及之后的内容:

if [[ ${#${tap_dir_basename//[^\-]}} -gt 1 ]]
then
        echo "Homebrew changed the structure of Taps like <someuser>/<sometap>." >&2
        echo "So you may need to rename $HOMEBREW_LIBRARY/Taps/$user/homebrew-$repo manually." >&2
      fi
    else
      echo "Homebrew changed the structure of Taps like <someuser>/<sometap>. " >&2
      echo "$tap_dir is an incorrect Tap path." >&2
      echo "So you may need to rename it to $HOMEBREW_LIBRARY/Taps/<someuser>/homebrew-<sometap> manually." >&2
    fi

我没主意了。谷歌搜索,我在同一地区发现了其他问题,但从来没有遇到过这个问题。其他人通过我已经尝试过的行动解决了。有人以前看过这个吗?

编辑:问题已解决。这是修复:

cd /usr/local
git checkout master
git fetch origin
git reset --hard origin/master
brew update

在此处发布上述答案以标记为已回答:

cd /usr/local
git checkout master
git fetch origin
git reset --hard origin/master
brew update