如何为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')
。
我自己也有很多麻烦,最终在阅读了几个小时之后安装好了,
-
安装python。 确保安装了Python 2.7.x,而不是3.x(我使用https://www.python.org,但cygwin的Python也可能工作)通过以下运行确认:
$ python -V Python 2.7.9
-
设置PYTHON envvariables,无论你安装了它(或cygwin的bin目录,如果安装python的话):
PYTHON = C:\ dev的\蟒\ python.exe
-
设置什么文件夹python.exe添加到您的pathvariables:
PATH = C:\ dev的\蟒\;
-
需要手动安装node-gyp:
$ npm install -g node-gyp ... Got slightly further...
-
所以我退出试图让它与我目前的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上的工作:
- 为Windows下载/安装zmq二进制文件
- 为windows下载/安装node.js
- 获取miniconda2或类似的情况下,你有python3(python2下面的步骤所需的步骤)
- 获取VS 2013(任何版本都应该这样做)VS '15目前不工作
- 从python2提示:
npm install --msvs_version=2013 zmq
最新更新:
Windows 8.1,节点v4.4.5,npm v3.10.5
- 像往常一样确保python2环境
- 安装Windows SDK(我的8.1)
- 安装VS2015社区并select用于Visual C ++的通用工具
- ===>
npm -g install npm@next
看看这个 -
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
来解决这个问题。