2

我刚刚通过克隆 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');

但是最新的版本。是固定的,所以这不应该真的是必要的(见下面的答案)。

4

2 回答 2

4

这似乎是快递中的一个错误。安装最新版本 1.0.5 为我解决了这个问题。

于 2011-02-06T09:57:08.680 回答
0

听起来您没有包含 npm 目录的需要路径。使用 require.paths 来修改它。

更多信息:

http://jherdman.github.com/2010-04-05/understanding-nodejs-require.html

于 2011-02-05T19:30:41.040 回答