2012-12-25 71 views
4

我想在Windows 7 64位中为node.js安装zeromq。我试过如何为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

+0

你想安装在32位或64位的Windows? – balazs

+0

64位窗口7 – Raj

回答

7

更新1个

改进做了,现在npm install zmq的作品,但你仍然需要赢得SDK 7和VS C++ 2010,我想。

原来的答案

不幸的是npm install zmq仍然不工作,但你可以从本地回购安装。

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

但是,你需要一些先决条件构建之前:

运行从开始菜单/微软的Windows SDK V7.1

在Windows SDK 7.1命令提示符去克隆的目录,然后键入

node-gyp configure 
node-gyp build 

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

+1

感谢您的帮助。哇,这是很多工作!安装Windows 7 SDK包括卸载最新的C++编译器(我认为10.4.xxx是不兼容的)。来源:“有一个类似的问题,事实证明SDK 7.1不会安装,如果你有一个新的vcredist_x86.exe比版本10.0.30319的Visual C++ 2010 x86可再发行组件...我有10.0.30419安装...通过控制面板“删除程序”删除它,然后安装SDK 7.1。“ – jcollum

+0

@jcollum我的答案主要针对win7 64bit,所以我安装了vcredist_x64.exe而不是vcredist_x86.exe。对于在32位窗口上安装它,我使用了[Matthiasg](https://github.com/matthiasg/zeromq-node-windows)的工作 – balazs

+0

不再适用于较新的nodejs和vs2012,但vs2015也有另一个错误'pfnDliNotifyHook2 '。 **修正了这个问题,使用'npm -g install npm @ next'与vs2015。参考[这里](https://github.com/nodejs/node-gyp/issues/972)和[这里](http://stackoverflow.com/a/3864714​​9/186334) – CallMeLaNN

1

我没有考虑在该包最近的变化,但我写https://github.com/matthiasg/zeromq-node-windows为其加入zeromq节点细微的变化我们自己的项目项目,以使其在Windows中工作...正如它在自述文件中说的,我不提供支持,但也许这会让你开始?

4

我有麻烦了很多自己,最终得到了它的阅读小时后安装,并试图DIFF东西出来:

  1. 安装Python。请确保安装的Python 2.7.x和不3.x中(我用https://www.python.org但Cygwin的蟒蛇可能工作太)由以下运行 确认:

    $ python -V Python 2.7.9

  2. 集PYTHON环境变量,等。无论您安装了它(或cygwin的bin目录,如果安装python的话):

    PYTHON = C:\ dev \ python \ python。EXE

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

    PATH = C:\ dev的\蟒蛇\;

  4. 需要手动安装了此节点GYP:

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

  5. 因此,我放弃试图让它与我当前的Visual C++ 2010的安装和得到的Visual C++ 2012的工作(想想2013年5月) so''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说明。

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

    由于没有,2010年的工作,我与2012年 也许有人去可以计算出,如果可能,以使其与C++ 2010

+0

你救了我,谢谢你。 –

1

工作时,此线是非常有用的,这里就是今天为我工作于Win10:

  1. 下载/安装ZMQ二进制文件窗口
  2. 下载/安装的node.js的Windows
  3. 获取miniconda2或类似的情况下,你有python3
  4. 获取VS 2013(下面构建步骤所需的蟒蛇2)(任版本应该做的)VS '15不会在这个时候
  5. 工作从python2提示:​​
+0

我无法使用vs2012进行编译,但设法使用vs2015进行修复。看到我的答案。 – CallMeLaNN

1

最新更新时间:

视窗8.1,节点v4.4.5,NPM v3.10.5

  1. 确保python2环境照常
  2. 安装Windows SDK(矿8。1)
  3. 安装VS2015共同体和共同选择工具Visual C++
  4. ===>npm -g install [email protected]看到this
  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'。我如上所述使用[email protected]来解决这个问题。