我刚刚通过克隆git repo + make&&来安装节点make install。然后我安装了npm,并使用npm来安装express(似乎它自动获取连接,因为它是依赖项)。但是,当尝试启动一个简单的表达示例时,我收到错误消息:
Error: Cannot find module 'connect/utils'
at Function._resolveFilename (module.js:219:11)
at Function._load (module.js:171:25)
at require (module.js:246:19)
at Object.<anonymous> (/home/yngve/local/node/lib/node/.npm/express/1.0.3/package/lib/express/response.js:16:13)
at Module._compile (module.js:302:26)
at Object..js (module.js:308:10)
at Module.load (module.js:234:31)
at Function._load (module.js:201:10)
at require (module.js:246:19)
at Object.<anonymous> (/home/yngve/local/node/lib/node/.npm/express/1.0.3/package/lib/express/index.js:52:1)
似乎有人在此处遇到同样的问题:http://groups.google.com/group/express-js/browse_thread/thread/287086bd30f79cf1/adbb5c669872e45a 但结论似乎是需要连接安装(我有)。 我已经检查过至少我有以下文件:
/home/yngve/local/node/lib/node/.npm/connect/0.5.8/package/lib/connect/utils.js /home/yngve/local/node/lib/node/.npm/express/1.0.3/node_modules/connect/connect/utils.js
任何人都有线索?
解决
已添加
require.paths.unshift('<path_to_node>/lib/node/connect');
但最新的转速。是固定的,所以这不应该是必要的(见下面的答案)。
答案 0 :(得分:4)
好像是快递bug。安装最新版本1.0.5,为我解决了这个问题。
答案 1 :(得分:0)
听起来您没有包含npm目录的require路径。使用require.paths来修改它。
更多信息:
http://jherdman.github.com/2010-04-05/understanding-nodejs-require.html