2012-12-25 79 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]來解決這個問題。