2014-04-09 199 views
0

我在32位Windows 7盒子上安裝了nodejs和karma,並且工作正常。在64位窗口上安裝nodejs/karma時遇到困難七

我現在正在建立一個64位的Windows七盒。我用「package.json」文件在目錄中運行「npm install -g」。

它安裝了很多軟件包,但似乎在某些時候卡住了。這裏是輸出的結尾:

npm http 304 https://registry.npmjs.org/commander 
> [email protected] install C:\Users\=myuid=\AppData\Roaming\npm\node_modules\=myuid=\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws 
> (node-gyp rebuild 2> builderror.log) || (exit 0) 
C:\Users\=myuid=\AppData\Roaming\npm\node_modules\=myuid=\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild 

它掛在這裏。

這裏是我的 「的package.json」:

{ 
    "name": "=myuid=", 
    "version": "0.0.0", 
    "description": "ERROR: No README.md file found!", 
    "main": "karma.conf.js", 
    "dependencies": { 
"karma-firefox-launcher": "~0.1.0", 
"karma-coffee-preprocessor": "~0.1.0", 
"karma-phantomjs-launcher": "~0.1.0", 
"karma-jasmine": "~0.1.3", 
"karma": "~0.10.2", 
"karma-coverage": "~0.1.0", 
"karma-html2js-preprocessor": "~0.1.0", 
"karma-script-launcher": "~0.1.0", 
"karma-requirejs": "~0.1.0", 
"karma-chrome-launcher": "~0.1.0" 
    }, 
    "devDependencies": {}, 
    "scripts": { 
"test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "repository": "", 
    "author": "", 
    "license": "BSD" 
} 

可以在這裏是什麼問題?還有什麼我應該在這裏展示?

更新:

我認識一對夫婦的事情,我應該做的不同,但我仍然堅持,雖然有一個稍微不同的問題。

我忘了運行「npm install -g」需要以管理員身份運行shell,並且在Windows上的Cygwin bash shell中運行它可能不是一個好主意。我在管理員運行的「cmd」中重新輸入「npm install -g karma --force」。這完成了沒有明顯的錯誤,但最終它不會安裝在「%HOME%\ AppData \ Roaming \ npm」中的「karma.cmd」腳本。

+0

你有你的機器上安裝的Python?這裏說'node-gyp'需要pyhton(在Windows中有更多的東西):https:// github。com/TooTallNate/node-gyp – MarcoL

+0

我從來沒有安裝過它。我現在試圖執行「npm install -g karma」,並且它完成了,但它不會在「%HOME%\ AppData \ Roaming \ npm」中安裝「業力」腳本。看着其他的筆記本電腦,它看起來像腳本非常簡單,並且腳本調用的腳本(在「node_modules/karma/bin」)確實存在,所以我可以從其他筆記本電腦複製這個腳本,但我不應該不必這樣做。 –

+0

其實,我意識到我必須以管理員身份運行shell,但是這並不能解決這個掛起命令。 –

回答

2

確保您具有運行所需的所有軟件node-gyp

,可以配置環境變量使用gyp的Visual Studio版本,這樣就可以避免不得不設置--msvs_version=2012屬性。

例子:

  • 設置GYP_MSVS_VERSION=2012爲Visual Studio 2012
  • 設置GYP_MSVS_VERSION=2013e(在 'E' 代表 'Express版')

有關完整列表,請參閱 - https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

對於NodeJS的Windows用戶來說,這仍然很痛苦,因爲它假定你已經安裝了Visual Studio的副本,許多最終用戶永遠不會擁有這個。因此,我正在向Joyent遊說,鼓勵他們將網絡套接字包含爲CORE節點的一部分,並且還可以將GNU gcc編譯器作爲NodeJS安裝的一部分發布,以便我們可以永久解決此問題。

隨意在添加您的投票: