错误:无法找到模块'./lib/socket.io'
我让我的服务器使用早期版本的node.js,npm和socket.io,但更新后我开始接受socket.io的问题:错误:无法找到模块'./lib/socket.io'
$ node server.js
node.js:237
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module './lib/socket.io'
at Function._resolveFilename (module.js:333:15)
at Function._load (module.js:280:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at Object.<anonymous> (/usr/local/lib/node_modules/socket.io/index.js:8:18)
at Module._compile (module.js:444:26)
at Object..js (module.js:462:10)
at Module.load (module.js:351:32)
at Function._load (module.js:309:12)
at Module.require (module.js:357:17)
在升级之前,我在node_modules下有一个socket.io的符号链接,指向具有相同名称的“集中安装”目录。最近,我试图通过发出命令安装socket.io地方到我的项目:
npm install socket.io
它放在我的项目下node_modules socket.io。起初我发现这个错误消息是说“./lib/socket.io”,但是当我看到它时,我发现project/node_modules/socket.io/index.js需要socket.io,像这样:
module.exports = require('./lib/socket.io');
但里面空空如也,除了运输:
...project/node_modules/socket.io/lib
$ ll
total 24
drwxrwxr-x 3 ghbarratt dev 4096 Mar 26 14:38 .
drwxrwxr-x 5 ghbarratt dev 4096 Mar 26 15:03 ..
-rw-rw-r-- 1 ghbarratt dev 10777 Mar 6 16:37 transport.js
drwxrwxr-x 3 ghbarratt dev 4096 Mar 26 14:38 transports
如果有另一个socket.io目录或lib下一个socket.io.js文件?为什么index.js需要一个似乎缺失的内部文件?
版本:
node -v
v0.7.7-pre
npm -v
1.1.12
[email protected]
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
我不想回答我的问题,但我没有把事情解决了,有没有其他的答案,所以我要在情况下,它可以帮助别人添加此。
随着Felix Loether的评论(I + 1ed)我很确定我没有得到我在npm install socket.io
期间应该拥有的所有文件。我试图做一个apt-get update
/upgrade
,认为我可能需要更新焦油或其他东西,但结果仍然是一样的。
我在安装输出中注意到了一个304响应,并想知道是否有某种npm缓存需要我尝试清除。 I discovered我可以使用以下命令清除npm缓存:npm cache clean
。清理缓存最终让我通过了无错运行问题。
然后我开始得到一个错误信息:make: node-waf: Command not found
其中lead me to reinstall node。
而且毕竟,它的工作!
用于引用'npm cache clean'。这解决了一个类似的问题。 – 2013-07-22 08:48:27
'node_modules/socket.io/lib /'里面应该有几个JS文件,包括'socket.io.js'。或者至少是我的(节点0.6.5,npm 1.1.0,socket.io 0.9.2)。 – 2012-03-26 20:09:44
@ Felix Loether - 感谢您的确认。现在我需要弄清楚为什么我没有得到我应该拥有的所有文件。 – ghbarratt 2012-03-26 20:25:36