문제

I'm trying to get node.js all up and running on windows server 2003 x64 w/ cygwin but keep hitting walls.

It wants me to run npm as sudo but that's not an option with cygwin (command not found..)??

$ 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 npm@1.0.1rc9
npm info using node@v0.5.0-pre
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 hummingbird@0.0.1
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 [ 'socket.io@0.6.16', 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
도움이 되었습니까?

해결책

Perhaps your node.js installation was done as root? Try installing node.js locally under Cygwin, then install npm locally, then install the packages

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

Here's the general script I use:

#!/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..)

EDIT: I did this on npm version 0.3.17.. can't tell you what happens on npm version 1

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top