我无法让ffi-rzmq gem在Windows上运行。
我从这里安装了ZeroMQ 2.2的Windows安装程序: http://www.zeromq.org/distro:microsoft-windows
我已将C:\ Program Files \ ZeroMQ 2.2.0 \ bin添加到我的PATH变量中。
然后我用
安装了ffi和ffi-rzmq宝石gem install ffi
gem install ffi-rzmq
但是当我开始使用irb并运行时:
require 'ffi-rzmq'
我收到此消息:
irb(main):001:0> require 'ffi-rzmq'
Unable to load this gem. The libzmq library (or DLL) could not be found.
If this is a Windows platform, make sure libzmq.dll is on the PATH.
For non-Windows platforms, make sure libzmq is located in this search path:
["C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-rzmq-0.9.3/lib/ffi-rz
mq/../../ext/libzmq.dll", "/usr/local/lib/libzmq.dll", "/opt/local/lib/libzmq.dl
l", "/usr/local/homebrew/lib/libzmq.dll", "/usr/lib64/libzmq.dll"]
奇怪的是,零MQ安装程序似乎没有打包libzmq.dll,只有 libzmq-v100-mt.dll
我确信我做的事情非常明显,这是错的,但我看不出它是什么......任何人都可以帮忙吗?
感谢。
答案 0 :(得分:2)
我设法解决了这个问题 - ffi-rzmq给出的错误信息在最新版本中实际上有所改善。
Nathan是对的,我必须将libzmq-v100-mt.dll重命名为libzmq.dll,但仅此一点还不够 - 我使用的是ZMQ的64位编译版本,但由于某种原因,ffi- rzmq与32位版本相关联。
所以一旦我卸载了64位版本,安装了32位版本,将dll重新命名为libzmq.dll并调整我的路径以指向&#c; \ program files(x86)'版本的zmq。
答案 1 :(得分:1)
你必须将libzmq-v100-mt.dll重命名为libzmq.dll - 我不知道为什么他们决定让windows build输出一个不同的库名。
我遇到了同样的问题,一旦我重命名文件,zeromq就开始工作正常了。
(好的,从技术上讲,我必须先修复我的代码,但是zeromq工作正常)。