今天在执行brew doctor
的时候出现如下错误:
$ brew doctor
Error: Cask 'java' is unreadable: undefined method `undent' for #<String:0x00007f86a64ab968>
原因为某次更新之后,配置文件增加了某些不必要的字段。更要命的是,不能执行卸载命令来删除出问题的安装包。解决方法为删除这个字段。
方案如下:
$ find "$(brew --prefix)/Caskroom/"java'/.metadata' -type f -name '*.rb' | xargs grep 'EOS.undent' --files-with-matches | xargs sed -i '' 's/EOS.undent/EOS/'
或者下面(我的是java)
$ find "$(brew --prefix)/Caskroom/"java7'/.metadata' -type f -name '*.rb' | xargs grep 'EOS.undent' --files-with-matches | xargs sed -i '' 's/EOS.undent/EOS/'
操作完之后在更新下brew
下面的操作是基于java(因为我的是java)
$ brew uninstall java
$ brew cleanup
$ brew update
$ brew upgrade
参考文章地址: https://www.mobibrw.com/2020/26381