5

我想在 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

4

5 回答 5

7

更新 1

进行了改进,现在npm install zmq可以使用,但我认为您仍然需要 Win SDK 7 和 VS C++ 2010。

原始答案

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

mscdex分叉了 zeromq.node 存储库,并添加了 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')

于 2012-12-26T19:33:48.323 回答
4

我自己遇到了很多麻烦,经过数小时的阅读和尝试不同的事情后最终安装了它:

  1. 安装蟒蛇。确保安装了 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\python.exe

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

    路径=C:\dev\python\;

  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 '(如果没有,请单独安装)。

    还已经按照 balazs 的说明安装了“ Windows7 SDK ”,所以可能也需要它。

    现在在 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''Visual C++ SP1 Compiler Update for Windows SDK 7.1'

    由于 2010 年都不起作用,我选择了 2012 年。也许有人可以弄清楚是否可以让它与 C++ 2010 一起使用。

于 2015-01-05T08:57:49.863 回答
1

我没有查看该包中的最新更改,但我为我们自己的项目编写了https://github.com/matthiasg/zeromq-node-windows,这对 zeromq-node 项目添加了微小的更改以使其在 Windows 中工作。 . 正如自述文件中所说,我不提供支持,但也许这会让你开始?

于 2012-12-26T09:43:12.413 回答
1

该线程非常有用,这是今天在 Win10 上对我有用的内容:

  1. 为 Windows 下载/安装 zmq 二进制文件
  2. 下载/安装适用于 windows 的 node.js
  3. 如果您有 python3,请获取 miniconda2 或类似的(以下构建步骤需要 python 2)
  4. 获取 VS 2013(任何版本都应该这样做)VS '15 目前不起作用
  5. 从 python2 提示符:npm install --msvs_version=2013 zmq
于 2016-05-01T02:02:59.837 回答
1

最新更新:

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

  1. 确保python2环境照常
  2. 安装 Windows SDK(我的 8.1)
  3. 安装 VS2015 Community 并选择 Common Tools for Visual C++
  4. ===>npm -g install npm@next看到这个
  5. npm install --msvs_version=2015 zmq

注意:我不能再用 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我使用如上所述的方法修复此问题。

于 2016-07-28T21:53:57.877 回答