如何为node.js安装zeromq

我想在Windows 7 64位安装node.js的zeromq。 我试着用

npm install zmq 

它给phython.exe丢失。 安装该python (2.7.3)
再次,它给了一些构build错误,如下所示:

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

更新1

现在npm install zmq可以改进,但是我认为你仍然需要Win SDK 7和VS C ++ 2010。

原始答复

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

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

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

  • Microsoft Visual Studio C ++ 2010( Express很好)

  • 用于Windows 7的Microsoft Windows SDK

从开始菜单/ 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. 安装python。 确保安装了Python 2.7.x,而不是3.x(我使用https://www.python.org,但cygwin的Python也可能工作)通过以下运行确认:

    $ python -V Python 2.7.9

  2. 设置PYTHON envvariables,无论你安装了它(或cygwin的bin目录,如果安装python的话):

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

  3. 设置什么文件夹python.exe添加到您的pathvariables:

    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的Windows桌面 ”
    应该安装“ 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可再发行组件)和Windows7 SDK,因为我按照上面的balazs说明。

    然后我尝试安装:“Microsoft Visual Studio 2010 Service Pack 1”Windows SDK 7.1的“Visual C ++ SP1编译器更新”

    由于2010年没有任何工作,我去了2012年。也许有人可以弄清楚,如果可能,使其与C + + 2010年工作。

我没有看到在该包最近的变化,但我写了我们自己的项目的https://github.com/matthiasg/zeromq-node-windows添加了对zeromq-node项目的微小的变化,使其在Windows中工作..正如它在自述中所说,我不提供支持,但也许这会让你开始?

这个线程是非常有用的,这是今天在Win10上的工作:

  1. 为Windows下载/安装zmq二进制文件
  2. 为windows下载/安装node.js
  3. 获取miniconda2或类似的情况下,你有python3(python2下面的步骤所需的步骤)
  4. 获取VS 2013(任何版本都应该这样做)VS '15目前不工作
  5. 从python2提示: npm install --msvs_version=2013 zmq

最新更新:

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

  1. 像往常一样确保python2环境
  2. 安装Windows SDK(我的8.1)
  3. 安装VS2015社区并select用于Visual C ++的通用工具
  4. ===> npm -g install npm@next看看这个
  5. npm install --msvs_version=2015 zmq

注意:我无法使用vs2012构build,上面提到的所有build议不能与构build错误error c2240 cannot convert from 'v8::Value *' to 'v8:object *volatile' 。 也许是因为更新的nodejs v4.4.5(有人可以澄清这一点?)。

但是使用vs2015产生构build错误win_delay_load_hook.c(34): error C2373: '__pfnDliNotifyHook2' 。 如上所述,我使用npm@next来解决这个问题。