【问题标题】:Cannot find module 'Socket.IO-node' when trying to run node.js boilerplate project尝试运行 node.js 样板项目时找不到模块“Socket.IO-node”
【发布时间】:2011-07-06 17:03:55
【问题描述】:

当我尝试运行使用 node.js 样板项目创建的项目时出现错误,我已经使用 NPM 安装了 socket.io 并带有以下命令:

npm install socket.io

我得到的错误是:

node.js:189
        throw e; // process.nextTick error, or 'error' event on first tick
    ^
Error: Cannot find module 'Socket.io-node'
    at Function._resolveFilename (module.js:317:11)
    at Function._load (module.js:262:25)
    at require (module.js:346:19)
    at Object.<anonymous> (/Users/mairead.buchan/Documents/WORK/auto-aggro/server.js:6:12)
    at Module._compile (module.js:406:26)
    at Object..js (module.js:445:10)
    at Module.load (module.js:334:31)
    at Function._load (module.js:293:12)
    at Array.<anonymous> (module.js:458:10)
    at EventEmitter._tickCallback (node.js:181:26)

我的问题是,我是否有某种不正确的 node/socket.io 版本组合? (我知道 socket.io 刚刚上升到 0.7)。

仅供参考,我昨天从源代码编译了 node(使用 5.0),今天已经使用 NPM 安装了其他所有东西,所以它应该都是在最新版本上运行

随着对 socket.io 项目的更改,node.js 样板是否已过时?

或者是否有另一种我找不到的专门安装 socket.io-node 的方法。所有的答案似乎都指向安装 socket.io。

希望得到一些建议。我是个菜鸟,谢谢

【问题讨论】:

  • 有问题的源代码是什么样的?我们可以看到堆栈跟踪,是的,但这并不能告诉我们您的实际代码。
  • 我认为 socket.io 和 node 5.0 存在问题。尝试 4.8
  • @jcolebrand - 我还没有代码。我只是在安装样板代码。我还没有创建任何应用程序代码。堆栈跟踪来自第一次运行样板项目,其中没有任何内容
  • @mairead 那没有任何意义。必须有一些代码才能编译和抱怨。您从哪个 URL 下载项目文件?
  • 样板代码在这里:github.com/robrighter/node-boilerplate

标签: javascript node.js socket.io


【解决方案1】:

我相信你应该使用latest stable build(0.4.9)。我相信 0.5.x 分支有 一些与 socket.io(0.7.x) 不兼容的 API 更改。

alfred@alfred-laptop:~/node/socketio$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"

alfred@alfred-laptop:~$ node -v
v0.4.9
alfred@alfred-laptop:~$ npm -v
1.0.15

alfred@alfred-laptop:~/node/socketio$ npm ls
/home/alfred
├── connect-redis@1.0.6 
├─┬ everyauth@0.2.15 
│ ├─┬ connect@1.5.2 
│ │ ├── connect-redis@1.0.6  extraneous
│ │ ├── mime@1.2.2 
│ │ └── qs@0.2.0 
│ ├── oauth@0.9.2 
│ ├── openid@0.1.8 
│ ├── restler@0.2.1 
│ └─┬ xml2js@0.1.9 
│   └── sax@0.1.4 
├─┬ express@2.4.1 
│ ├─┬ connect@1.5.2 
│ │ ├── connect-redis@1.0.6  extraneous
│ │ ├── mime@1.2.2 
│ │ └── qs@0.2.0 
│ ├── mime@1.2.2 
│ └── qs@0.2.0 
├── hiredis@0.1.12 
├── jade@0.12.4 
├── notifo@0.0.2 
├── openid@0.2.0 
├── redis@0.6.6 
└─┬ socket.io@0.7.6 
  ├── policyfile@0.0.3 
  ├── redis@0.6.0 
  └── socket.io-client@0.7.3

alfred@alfred-laptop:~$ mkdir -p ~/tmp
alfred@alfred-laptop:~/tmp$ cd ~/tmp
alfred@alfred-laptop:~/tmp$ curl http://dl.dropbox.com/u/314941/socketio.tar.gz | tar xvz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 32752  100 32752    0     0  27122      0  0:00:01  0:00:01 --:--:-- 40685
socketio/
socketio/public/
socketio/nodemon-ignore
socketio/.monitor
socketio/app.js
socketio/public/jquery-1.6.1.min.js
socketio/public/index.html

alfred@alfred-laptop:~/tmp$ node socketio/app.js info - socket.io 开始

google alfred@alfred-laptop:~/tmp$ google-chrome http://localhost:3000/
[23812:23829:31307528453:ERROR:io_thread.cc(120)] Invalid IP address specified for --dns-server: 
Created new window in existing browser session.

只为我工作。我认为你应该提供相同的信息(试试我在 curl 链接中指定的 socket.io 代码)。

【讨论】:

  • 更新了我的答案以提供更多信息。能否请您重复步骤。有些步骤在我认为cat /etc/lsb-release 之类的每个操作系统中都不可用,但您应该提供适合您的操作系统的命令。
  • 我得到了 curl 语句,然后我得到了一些非常丑陋的东西。见下文。我无法将其粘贴到评论中
  • lol mairead,我吹了 curl => en.wikipedia.org/wiki/Pipe_(Unix)。该命令应该是curl http://dl.dropbox.com/u/314941/socketio.tar.gz | tar xvz,因为我把我的代码放在一个存档中
  • 好的,感谢阿尔弗雷德的帮助。我肯定有 socket.io 独立运行,所以它一定是样板项目中的某个地方发生了冲突。我想这对我尝试走捷径很有帮助。
【解决方案2】:
System Version: Mac OS X 10.6.5 (10H574)
Kernel Version: Darwin 10.5.0


the-lambda-zone:node mairead.buchan$ node -v 
v0.4.9

the-lambda-zone:node mairead.buchan$ npm -v
1.0.15

/Users/mairead.buchan/Documents/WORK/node
├─┬ express@2.4.2 
│ ├─┬ connect@1.5.2 
│ │ └── connect-redis@1.0.6  extraneous
│ ├── mime@1.2.2 
│ └── qs@0.2.0 
├── redis@0.6.6 
└─┬ socket.io@0.7.6 
  ├── policyfile@0.0.3 
  ├── redis@0.6.0 
  └── socket.io-client@0.7.3 

the-lambda-zone:node mairead.buchan$ mkdir -p ~/tmp
the-lambda-zone:node mairead.buchan$ cd ~/tmp
the-lambda-zone:tmp mairead.buchan$ curl http://dl.dropbox.com/u/314941/socketio.tar.gz

【讨论】:

    猜你喜欢
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    相关资源
    最近更新 更多