【问题标题】:Cygwin + node.js + socket.io a no goCygwin + node.js + socket.io 不行
【发布时间】:2011-08-13 20:42:49
【问题描述】:

我正在尝试让 node.js 全部启动并在带有 cygwin 的 windows server 2003 x64 上运行,但一直碰壁。

它希望我以 sudo 身份运行 npm,但这不是 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 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

【问题讨论】:

  • 我真的希望你不打算在 cygwin 上使用 node.js 作为生产环境(关于“windows server 2003 x64”的部分让所有的警钟都像疯了一样响起)。 windows 上的 node.js 被认为是不稳定的,只适合开发。考虑使用使用 VMWare 或 VirtualBox 的虚拟化服务器在 Windows 服务器上运行基于 Linux 的系统...
  • 天哪,不;只是一个临时解决方法来启动和运行某些东西。 Prod 将是 centos 或其他东西,但我有防火墙/代理/不想破坏别人的开发环境,我还没有自己的问题; womp..womp..

标签: node.js cygwin socket.io


【解决方案1】:

也许您的 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..)

编辑:我在 npm 版本 0.3.17 上执行此操作.. 无法告诉您在 npm 版本 1 上会发生什么

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 2011-12-02
    • 2011-03-28
    • 2012-09-19
    • 2013-03-16
    相关资源
    最近更新 更多