如何为node.js安装zeromq

时间:2012-12-25 09:11:05

标签: node.js zeromq

我想在Windows 7 64位中为node.js安装zeromq。我试过

npm install zmq

它遗漏了phython.exe。安装python (2.7.3)后。
它再次给出了一些构建错误,如下所示:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe failed with exit code: 1

5 个答案:

答案 0 :(得分:7)

更新1

现在进行了改进npm install zmq,但我认为你还需要Win SDK 7和VS C ++ 2010。

原始答案

不幸的是npm install zmq仍然不起作用,但你可以从本地仓库安装它。

mscdex分叉了zeromq.node repo,并添加了windows支持,所以只需克隆他的zeromq.node

但在构建之前,您需要一些先决条件:

从“开始”菜单/ Microsoft Windows SDK v7.1

运行Windows SDK 7.1命令提示符

转到克隆目录,然后键入

node-gyp configure
node-gyp build

这应该适用于Windows 7 64位。我将zeromq.node克隆到我的节点项目目录中,所以在app.js我可以require('./zeromq.node')

答案 1 :(得分:4)

我自己遇到了很多麻烦,最终在经过几个小时的阅读后安装了它并试图解决问题:

  1. 安装python。确保安装了Python 2.7.x而不是3.x(我使用https://www.python.org但是cygwin的python也可以工作)  通过以下运行确认:

    $ python -V Python 2.7.9

  2. 设置PYTHON env变量,无论你安装它(或者cygwin的bin目录,如果以这种方式安装python):

    PYTHON = C:\ dev的\蟒\ python.exe

  3. 设置添加到PATH变量中的python.exe文件夹:

    PATH = C:\ dev的\蟒\;

  4. 需要手动安装此node-gyp:

    $ npm install -g node-gyp ... Got slightly further...

  5. 所以我放弃尝试使用我当前的Visual C ++ 2010进行安装并使Visual C ++ 2012正常工作(想想2013也可能有效): 已安装' Visual Studio 2012 Express for Windows Desktop'
    应该安装' 2012 Visual C++ Redistributables' (如果没有,请单独安装)。

    还有' Windows7 SDK'已经按照balazs指令安装,所以可能也需要它。

    现在尝试使用Windows命令行并指定要使用的版本:

    $ npm install --msvs_version=2012 zmq and it worked!

    注意:想提一下我已安装的内容。已经有了Visual Studio C ++ 2010 Express'安装(安装了Visual C ++ 2010 Redistributables)   和Windows7 SDK,因为我有点遵循上面的balazs说明。

    然后我尝试安装: ' Microsoft Visual Studio 2010 Service Pack 1' ' Windows SDK 7.1'

    的Visual C ++ SP1编译器更新

    由于2010年都没有,所以我选择了2012年。 也许有人可以弄清楚是否有可能使它适用于C ++ 2010。

答案 2 :(得分:1)

我没有查看该软件包中的最新更改,但我为自己的项目编写了https://github.com/matthiasg/zeromq-node-windows,这些项目对zeromq-node项目进行了少量更改,以使其在Windows中运行...正如它在自述文件中所述我不提供支持,但也许这会让你开始?

答案 3 :(得分:1)

这个帖子非常有用,今天在Win10上对我有用:

  1. 下载/安装Windows的zmq二进制文件
  2. 下载/安装node.js for windows
  3. 获取miniconda2或类似内容,以防你有python3(以下步骤需要python 2)
  4. 获取VS 2013(任何版本都应该这样做)VS' 15目前无法正常工作
  5. 来自python2提示:npm install --msvs_version=2013 zmq

答案 4 :(得分:1)

最新更新:

Windows 8.1,节点v4.4.5,npm v3.10.5

  1. 照常确保python2环境
  2. 安装Windows SDK(我的8.1)
  3. 安装VS2015社区并选择Visual C ++常用工具
  4. ===> npm -g install npm@next请参阅this
  5. npm install --msvs_version=2015 zmq
  6. 注意:我不能再使用vs2012进行构建,上面提到的所有建议都不能使用构建错误error c2240 cannot convert from 'v8::Value *' to 'v8:object *volatile'。也许是因为更新的nodejs v4.4.5(有人可以澄清这个吗?)。

    然而,使用vs2015会产生构建错误win_delay_load_hook.c(34): error C2373: '__pfnDliNotifyHook2'。我使用上面提到的npm@next解决了这个问题。