2011-04-27 20 views
0

我試圖讓node.js都在Windows Server 2003 x64 w/cygwin上運行,但保持撞牆。Cygwin + node.js + socket.io一個沒有去

它希望我運行npm作爲sudo,但這不是cygwin的選項(命令未找到..)??

$ npm install socket.io --loglevel verbose 
npm info it worked if it ends with ok 
npm verb cli [ 'node', 
npm verb cli '/usr/local/bin/npm', 
npm verb cli 'install', 
npm verb cli 'socket.io', 
npm verb cli '--loglevel', 
npm verb cli 'verbose' ] 
npm info using [email protected] 
npm info using [email protected] 
npm verb config file /home/rfitzger/.npmrc 
npm verb config file /usr/local/etc/npmrc 
npm verb caching /cygdrive/d/workspace/gits/hummingbird/package.json 
npm verb loadDefaults [email protected] 
npm verb from cache /cygdrive/d/workspace/gits/hummingbird/package.json 
npm verb into /cygdrive/d/workspace/gits/hummingbird [ 'socket.io' ] 
npm verb cache add [ '[email protected]', null ] 
npm info addNamed [ 'socket.io', '0.6.16' ] 
npm verb addNamed [ '0.6.16', '0.6.16' ] 
npm verb GET socket.io/0.6.16 
npm verb raw, before any munging socket.io/0.6.16 
npm verb url resolving [ 'http://registry.npmjs.org/', 
npm verb url resolving './socket.io/0.6.16' ] 
npm verb url resolved http://registry.npmjs.org/socket.io/0.6.16 
npm verb url parsed { href: 'http://registry.npmjs.org/socket.io/0.6.16', 
npm verb url parsed protocol: 'http:', 
npm verb url parsed slashes: true, 
npm verb url parsed host: 'registry.npmjs.org', 
npm verb url parsed hostname: 'registry.npmjs.org', 
npm verb url parsed pathname: '/socket.io/0.6.16' } 
npm ERR! Error: EPERM, Operation not permitted 
npm ERR!  at Socket._onConnect (net.js:600:18) 
npm ERR!  at IOWatcher.onWritable [as callback] (net.js:186:12) 
npm ERR! 
npm ERR! Please use 'sudo' or log in as root to run this command. 
npm ERR! 
npm ERR!  sudo npm "install" "socket.io" "--loglevel" "verbose" 
npm ERR! 
npm ERR! or set the 'unsafe-perm' config var to true. 
npm ERR! 
npm ERR!  npm config set unsafe-perm true 
npm ERR! 
npm ERR! System CYGWIN_NT-5.2-WOW64 1.7.9(0.237/5/3) 
npm ERR! command "node" "/usr/local/bin/npm" "install" "socket.io" "--loglevel" 
"verbose" 
npm verb exit [ 1, true ] 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /cygdrive/d/workspace/gits/hummingbird/npm-debug.log 
npm not ok 
+1

我真的很希望你不打算在cygwin上使用node.js作爲生產環境(關於「windows server 2003 x64」的部分使所有報警鐘聲響起來像瘋了一樣)。 windows上的node.js被認爲是不穩定的,只適合開發。考慮使用虛擬化服務器使用VMWare或VirtualBox在您的Windows服務器上運行基於Linux的系統... – schaermu 2011-04-27 13:18:53

+0

Oh lord no;只是一個臨時的解決方法來啓動和運行。 Prod將會是centos或者其他東西,但是我擁有防火牆/代理/不想打破別人的開發環境,我沒有自己的問題; womp .. womp .. – 2011-04-27 13:23:57

回答

3

也許你的node.js安裝是以root身份完成的?嘗試在Cygwin下本地安裝的node.js,然後安裝在本地NPM,然後安裝包

http://increaseyourgeek.wordpress.com/2010/08/18/install-node-js-without-using-sudo/

下面是我用一般的腳本:

#!/bin/bash -x 

git clone git://github.com/joyent/node.git /tmp/node 
export JOBS=2 # optional, sets number of parallel commands. 
mkdir ~/local 
cd /tmp/node 
./configure --prefix=$HOME/local/node 
make 
make install 
export PATH=$HOME/local/node/bin:$PATH 


# install NPM - Node Package Manager 
curl http://npmjs.org/install.sh | sh 

# install necessary node packages 
npm install express (etc..) 

編輯:我這樣做是對新公共管理0.3版.17 ..不能告訴你在npm版本1上會發生什麼