今天遇到thrift的需求,于是安装了Apache的Thrift,发现安装过程很费劲。把我遇到的坑整理一下,让大家减少一些时间的浪费。常规方法使用brew安装Thriftbrewinstallthrift,但是这种方法只能用brew安装目前只有0.12.0和0.9.0最新版本。如果要安装其他版本,还是需要通过官网方式安装官网方式。首先下载源码,通过官网文件列表找到对应的版本;如果官网速度慢,也可以通过镜像网站找到并解压,进入目录,执行以下命令。/configure&&make安装完成后可以使用如下命令查看是否安装了thrift--version问题解决首先是安装依赖问题。如果遇到类似:Bisonversion2.5orhighermustbeinstalledonthesystem!的错误,可以使用如下方法(参考从mac安装thrift):brewinstallbison#注意把这个改成你自己的路径#这个是临时环境变量,关闭终端会失效PATH="/usr/local/Cellar/bison/3.0.4_1/bin/:$PATH"其他方法可以在网上找到,Mac也可以参考安装thriftbison报错的解决办法。但是我觉得上面的方法比较简单。如果遇到这样的错误:src/thrift/transport/TSSLSocket.cpp:43:10:fatalerror:'openssl/opensslv.h'filenotfound,可以使用下面的方法,参考DiveIntoThriftNode-Installation:brewinstallopenssl#如果安装了继续下一步brewinstallpkg-config#如果安装好了继续下一步brewlinkopenssl--force#执行这条命令,系统会提示有多个methods可以选择,我们可以选择pkg-config的方法#ExecuteexportPKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"介绍了解pkg-configLlinux中pkg-config工具后,执行官网安装步骤:因为Thrift支持多种语言,但是我们一般只需要一种语言,所以我们可以不选择其他语言,避免其他语言带来的各种问题带来错误:./configureLDFLAGS='-L/usr/local/opt/openssl/lib'CPPFLAGS='-I/usr/local/opt/openssl/include'--with-nodejs=yes--with-qt4=no--with-qt5=no--with-openssl=DIR--with-csharp=no--with-c_glib=no--with-java=no--with-erlang=no--with-lua=no--with-python=no--with-perl=no--with-php=no--with-php_extension=no--with-dart=no--with-ruby=no--with-haskell=no--with-go=no--with-rs=no--with-haxe=no--with-dotnetcore=no--with-d=no如果成功,执行:make不要执行sudo命令,否则会导致npm的内部错误报告,如果没有错误报告,应该安装成功
