簡體   English   中英

如何為node.js安裝zeromq

[英]how to install zeromq for node.js

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

更新1

現在npm install zmq正在進行改進,但我認為你還需要Win SDK 7和VS C ++ 2010。

原始答案

不幸的是, npm install zmq仍然無法正常工作,但你可以從本地repo安裝它。

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. 安裝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. 設置python.exe添加到PATH變量的文件夾:

    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 '(如果沒有,單獨安裝)。

    還有每個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''用於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(下面的步驟需要python 2)
  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社區並選擇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修復此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM