先说结论:
- 先安装zookeeper,brew install zookeeper
- 修改 /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/kafka.rb 文件,将depends_on "java"改为depends_on “openjdk”
- 重新brew install kafka
- 成功
(或者可以试试跳过第一步,在这里第一步只是为了引入openjdk依赖)
解释说明:
科学上网搜索了一下暂时没找到一样的问题,但是很多教程里面都有提到安装kafka必须先安装对应版本的java(不过我相信很多人已经安装过了,并且版本也正确),很多教程中也提到了使用brew cask install 安装java openjdk,由于我当初不是这么安装的,可能是在这个部分出现了问题,甚至我想过重装我的java。
首先,错误基本可以确定是kafka的java依赖的问题。
这个时候我突然灵光一现,决定先安装zookeeper:
“brew install zookeeper”,发现命令行中的log有
好家伙,直接给我安装了一遍。现在,重新试试“ brew install kafka”
我们进入上面提到的文件:
vim /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/kafka.rb
发现里面除了之前依赖的句子:depends_on "java"之外;还加入了:depends_on “openjdk”
显然,我们保留depends_on “openjdk”,把depends_on "java"这个部分删去,再重新“ brew install kafka”
安装成功。