我正在使用Node Boilerplate并且一切正常,直到我决定在它之上创建另一个项目(在另一个目录中)。
现在我在两个不同的文件夹中有完全相同的代码库(这个项目原样)。我可以毫无问题地运行其中一个,但另一个失败:
% node app.js
node.js:116
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'connect/middleware/router'
at Function._resolveFilename (module.js:299:11)
at Function._load (module.js:245:25)
at require (module.js:327:19)
at Object.<anonymous> (/home/gotts/Sites/nodejs-uploadr/lib/express/lib/express/server.js:17:14)
at Module._compile (module.js:383:26)
at Object..js (module.js:389:10)
at Module.load (module.js:315:31)
at Function._load (module.js:276:12)
at require (module.js:327:19)
at Object.<anonymous> (/home/gotts/Sites/nodejs-uploadr/lib/express/lib/express/index.js:28:31)
这里解释了类似的问题 - https://github.com/visionmedia/express/issues/535表示问题出在不兼容的connect/express版本中。
但这怎么可能?两个文件夹中的源代码完全相同,并且在一个副本中工作正常而在另一个副本中失败?