新建一个maven项目,先下载maven依赖  http://thrift.apache.org/download

<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.11.0</version>
</dependency>

 

再安装需要的工具  http://thrift.apache.org/docs/install/os_x

我的是MacBook Pro,按照要求,

安装thrift的工具依赖boost库

下载地址:www.boost.org,找到最新的版本下载,

下载之后解压,然后用cmd模式进入到解压文件夹的根目录。

执行命令

./bootstrap.sh
sudo ./b2 threading=multi address-model=64 variant=release stage install  

如果出现missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun错误,
先执行

xcode-select --install

安装thrift的工具依赖libevent库

下载地址:http://libevent.org,找一个稳定版本下载,

下载之后解压,然后用cmd模式进入到解压文件夹的根目录。

执行命令:

./configure --prefix=/usr/local
make
sudo make install

  

make的时候出现 fatal error: 'openssl/bio.h' file not found

这是由于mac默认安装了openssl但是没有安装对应的include头文件和lib库,故这里使用homebrew(参考https://brew.sh/index_zh-cn.html)来安装最新的openssl

先安装homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

再用homebrew安装openssl(xcode要是最新版本的才能安装):

brew install openssl

brew link openssl --froce

ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl

ln -s /usr/local/opt/openssl/include/openssl /usr/local/include/openssl

ln -s /usr/local/opt/openssl/lib/libssl.a /usr/local/lib/libssl.a

ln -s /usr/local/opt/openssl/lib/libcrypto.a /usr/local/lib/libcrypto.a

 然后重新运行 make sudo make install 命令来安装libevent 

安装Apache Thrift

下载最新版本的thrift 0.11,下载地址:http://archive.apache.org/dist/thrift/

解压下载的文件,进入该目录,运行以下脚本

./configure --prefix=/usr/local/ --with-boost=/usr/local --with-libevent=/usr/local
make
sudo make install

如果报错error: Bison version 2.5 or higher must be installed on the system!

解决办法:mac中默认安装了bison 2.3版本,并配置了路径在path中。安装最新的版本3.0.4, 并将/usr/bin中的bison删除,将bison 3.0.4 复制到/usr/bin中
cd /usr/bin
brew install bison
brew unlink bison
source ~/.bash_profile 或者export PATH=/usr/local/Cellar/bison/3.0.4_1/bin:$PATH
把其加入环境变量
再执行bison -V , 版本号变成3.0.4即可

 运行thrift -version 命令查看thrift版本即可

Thrift入门之mac下的安装流程的更多相关文章

  1. Mac 下 docker安装

    http://www.th7.cn/system/mac/201405/56653.shtml Mac 下 docker安装 以及 处理错误Cannot connect to the Docker d ...

  2. Ruby入门--Linux/Windows下的安装、代码开发及Rails实战

    Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...

  3. Mac下Jekyll安装

    之前一直用Wordpress,虽然功能强大,各种插件各种bug,如果想弄个主题,折腾得要命.最近改用jekyll+gitHub免费空间.记录一下. 我用的是Mac,所以只讲述Mac下如何安装,Wind ...

  4. Mac下Tomcat安装与Intellij IDEA配置Tomcat

    Mac下Tomcat安装与Intellij IDEA配置Tomcat 一 安装 1 下载地址:https://tomcat.apache.org/download-90.cgi 2 将压缩包解压后移至 ...

  5. Mac下Maven安装与配置

    Mac下Maven安装与配置 下载maven http://maven.apache.org/download.cgi main->download菜单下的Files 下载后解压在Documen ...

  6. Mac下删除安装的pkg

        Mac下的安装和删除都比windows更加简单清晰,这点在dmg方式下非常明显,但很多时候我们会使用pkg来进行安装,这样的安装想删除就有点麻烦了. 比如,我安装了Golang这个pkg用于g ...

  7. Mac下新安装的MySQL无法登陆root用户解决方法

      一 设置MySQL命令行搜索路径 0.苹果->系统偏好设置->最下边点mysql 在弹出页面中 启动mysql服务 1.打开终端,输入: sudo vi ~/.bash_profile ...

  8. Mac下webpack安装

    最近开始接触构建工具webpack,公司电脑是 windows,而我自己的呢是mac.本来以为在自己电脑安装很简单,但是出了点问题,所以写出来分享下. 这里用npm的方式安装,首先你要安装node.j ...

  9. Anaconda安装Graphviz, mac下Graphviz安装, pcharm中调用pycharm, Graphviz典型例子

    mac下的Graphviz安装及使用 2017年10月13日 13:30:07 阅读数:7495 一.安装 Graphviz http://www.graphviz.org/ mac用户建议直接用ho ...

随机推荐

  1. 控件EditText

    (一)监听EditText输入内容变化 EditText.addTextChangedListener(textWatcher); //EditText change listener    //此方 ...

  2. C# 属性事件一些设置说明

    大致列举一些常用的属性或事件的一些修饰 用法类似,主要是对属性的进一步设置 [Browsable(true)] public bool Enable {get;set;} 顺便说一下事件的应用: pu ...

  3. imx6 电容屏参数更改

    imx6使用电容屏时需要获取对应的usb的event.其中用到了shell的一些命令.分析如下. # inputCheckLine=`cat /proc/bus/input/devices | gre ...

  4. C# 过滤sql特殊字符方法集合

    1./// <summary>    /// 过滤不安全的字符串    /// </summary>    /// <param name="Str" ...

  5. Jquery实用代码片段(转)

    1.把所有带有#的空链接换成不友情的链接 $('a[href="#"]').each(function() { $(this).attr('href', 'javascript:v ...

  6. linux -- 常用的20个命令

    1. ls命令 ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. root@tecmint:~# ls Andr ...

  7. opencv实例二:缩放一张图片

    1.知识补充 const char*, char const*, char*const的区别 事实上这个概念谁都有只是三种声明方式非常相似: Bjarne在他的The C++ Programming ...

  8. CSS导入使用及引用的两种方法

    方法一<link rel="stylesheet" type="text/css" href="test.css"> 方法二&l ...

  9. Environment.GetEnvironmentVariable

    参考: https://jingyan.baidu.com/article/b24f6c82cba6dc86bfe5da9f.html https://msdn.microsoft.com/zh-cn ...

  10. try catch finally的执行顺序

    1.将预见可能引发异常的代码包含在try语句块中. 2.如果发生了异常,则转入catch的执行.catch有几种写法: catch 这将捕获任何发生的异常. catch(Exception e) 这将 ...