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
我刚刚安装了 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