Java项目运行大多基于maven和thrift;尤其是当报错类型为:
程序包 org.apache.thrift.annotation 不存在
时,网上有一类说法是父项目和子项目的pom文件中关于thrift 的版本存在冲突;但我遇到的不是,很可能是自己点的电脑本地没有安装thrift导致的;
问题描述
安装thrift的教程,其实蛮多的:推荐这一个:https://cloud.tencent.com/developer/article/1451267;我最终安装成功使用的是这个方法。
但是Mac 从Catalina开始对系统文件的权限限制地很严格,在执行上面的方法过程中会遇到阻碍。下面直接说解决方案吧。
-
默认你电脑已经安装
brew
; -
如果你想安装最新thrift,可以直接
brew install thrift
;如果想要安装特定的thrift版本,也可以直接碰碰运气,试试brew install thrift@0.11.0
,但是我使用这个命令是不会安装成功的,会报错:
于是我们采取上面链接中的方法; -
brew install boost
brew install openssl
brew install libevent
然后就是重头戏——升级bison版本;否则的话,后续的./configure命令执行后会显示报错:configure: error: Bison version 2.5 or higher must be installed on the system!
brew install bison
之后运行brew -V
看看版本号,发现bison的版本依然是2.3;那怎么办呢:
执行以下代码:
bison -V
brew unlink bison
echo export PATH="/usr/local/opt/bison/bin:$PATH" >> ~/.bash_profile
export LDFLAGS="-L/usr/local/opt/bison/lib"
source ~/.bash_profile
brew link bison --force
-
然后再
brew -V
发现bison系统版本还是2.3;但是现在已经不要紧了,可以去安装thrift了;首先在官网下载你需要的thrift版本:http://archive.apache.org/dist/thrift/;然后用terminal进入该文件夹(解压后的thrift-0.11.0),执行以下代码:
tar -zxvf thrift-0.11.0
cd thrift-0.11.0
./configure
make
make install
这个时候执行./configure
就不会报错了; -
你以为就这么完了,在执行
make install
的时候又说什么Read-only system,大致意思是说没有系统权限,这时候猛一点,直接来个sudo make install
; -
备注:如果有什么Permission Denied之类的报错,可以在恢复模式的terminal下输入
csrutil disable
并回车,关闭SIP。(M1芯片电脑进入恢复模式方法为:重启后按住电源键直到出现Loading startup options...
后放开电源键。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)