在Mountain Lion上安装zmq gem

时间:2013-02-08 21:36:43

标签: ruby-on-rails ruby gem homebrew zeromq

通过自制软件安装zmq。

然后试图跑:

$ sudo gem install zmq -- --with-zmq-dir=/usr/local
Building native extensions.  This could take a while...
ERROR:  Error installing zmq:
    ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb --with-zmq-dir=/usr/local
checking for zmq.h... yes
checking for zmq_init() in -lzmq... no
checking for zmq_init() in -lzmq... no
extconf.rb:36: Couldn't find zmq library. try setting --with-zmq-dir=<path> to tell me where it is. (RuntimeError)


Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/zmq-2.1.4 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/zmq-2.1.4/gem_make.out

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

问题在于the current gem does not work with 3.x.x 但是你可以用brew install zeromq22安装ZeroMQ 2.2.0,之后gem会很好地安装。

答案 1 :(得分:2)

如果没有ZeroMQ系统库,zmq gem就没有编译的希望。如果您使用的是Homebrew,这是一个简单的过程:

brew install zeromq

如果你已经完成了这个但是找不到它,你的编译器可能找不到ZeroMQ库。您需要使用find /usr -name 'libzmq*'查找它并查看它隐藏的位置。它可能位于/usr/local/lib之外的其他目录中。

答案 2 :(得分:2)

$ brew install zeromq22
$ gem install zmq -- --with-zmq-dir=/usr/local/opt/zeromq22

答案 3 :(得分:0)

除了--with-zmq-dir=/usr/local之外,还可以尝试将--with-zmq-lib=/usr/local/lib--with-zmq-include=/usr/local/include添加到gem install命令中。通常只需--with-zmq-dir就足够了,但这个宝石的情况似乎并非如此。