Windows 7 32位上的Socket.io安装失败

时间:2013-03-07 13:32:37

标签: node.js websocket socket.io phpwebsocket

  

我安装了node.js v0.8.22 并尝试在Windows 7 32bit中安装socket.io   Socket.io安装连续失败。   控制台日志是:

C:\Program Files\nodejs>npm install socket.io
npm http GET https://registry.npmjs.org/socket.io
npm http GET https://registry.npmjs.org/socket.io
npm http 200 https://registry.npmjs.org/socket.io
npm http GET https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
npm http 200 https://registry.npmjs.org/socket.io/-/socket.io-0.9.13.tgz
npm ERR! Error: EPERM, mkdir 'C:\Program Files\nodejs\node_modules\socket.io'
npm ERR!  { [Error: EPERM, mkdir 'C:\Program Files\nodejs\node_modules\socket.io
']
npm ERR!   errno: 50,
npm ERR!   code: 'EPERM',
npm ERR!   path: 'C:\\Program Files\\nodejs\\node_modules\\socket.io',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: 'C:\\Program Files\\nodejs\\node_modules\\socket.io',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack:
npm ERR!    [ 'DirWriter._create (C:\\Program Files\\nodejs\\node_modules\\npm\\
node_modules\\fstream\\lib\\dir-writer.js:36:23)',
npm ERR!      'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\mkdir
p\\index.js:37:53',
npm ERR!      'Object.oncomplete (fs.js:297:15)' ] }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "socket.io"
npm ERR! cwd C:\Program Files\nodejs
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! path C:\Program Files\nodejs\node_modules\socket.io
npm ERR! fstream_path C:\Program Files\nodejs\node_modules\socket.io
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, mkdir 'C:\Program Files\nodejs\node_modules\socket.
io'
npm ERR! fstream_stack DirWriter._create (C:\Program Files\nodejs\node_modules\n
pm\node_modules\fstream\lib\dir-writer.js:36:23)
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\mkd
irp\index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:297:15)
npm ERR! Error: EPERM, open 'C:\Program Files\nodejs\npm-debug.log'
npm ERR!  { [Error: EPERM, open 'C:\Program Files\nodejs\npm-debug.log']
npm ERR!   errno: 50,
npm ERR!   code: 'EPERM',
npm ERR!   path: 'C:\\Program Files\\nodejs\\npm-debug.log' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "socket.io"
npm ERR! cwd C:\Program Files\nodejs
npm ERR! node -v v0.8.21
npm ERR! npm -v 1.2.11
npm ERR! path C:\Program Files\nodejs\npm-debug.log
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, open 'C:\Program Files\nodejs\npm-debug.log'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Program Files\nodejs\npm-debug.log
npm ERR! not ok code 0
  

有解决方法吗?如何在32位Windows 7上安装Socket.io?

6 个答案:

答案 0 :(得分:13)

当我尝试运行npm install并获得“npm ERR!错误:EPERM,mkdir”时,我会在Windows上分享对我有用的东西......

我必须手动授予写入文件夹的权限......

在您的情况下,您需要转到

C:\Program Files\nodejs\node_modules\

使用Windows资源管理器,右键单击,选择“属性”,然后转到“安全”选项卡

您将看到许多用户......只需为您需要的用户授予权限,然后再次尝试再次运行npm install ...

答案 1 :(得分:12)

看起来您需要使用管理员权限运行它,尝试使用管理员运行CMD(以管理员身份运行),然后npm install socket.io

答案 2 :(得分:2)

而不是vanilla命令提示符,我使用了windows powershell(在win7上),上面的错误消失了。

答案 3 :(得分:1)

谢谢,指针@Griiettner。 如果您通过gitbash运行/执行,则将管理员权限授予“C:\ Program Files(x86)\ Git”文件夹。

与上述相同,使用Windows资源管理器,右键单击,选择“属性”,然后转到“安全”选项卡。

当我使用“npm config set prefix”命令更改配置(在此博客http://blog.webbb.be/command-not-found-node-npm/之后)时发生这种情况很困难,但我已经回到了旧的loc。使用“npm config set prefix C:/ Users / [Username] / AppData / Roaming / npm”。

答案 4 :(得分:0)

我以为我会分享一个尚未发布的解决方案:确保您的节点应用程序尚未运行。尝试在我的Node应用程序运行时删除依赖项(npm uninstall mongoose --save)时出现此问题,这显然无效。

答案 5 :(得分:0)

在我的情况下,我对Babel有同样的问题,通过全局安装来解决