运行基本Express项目时出现错误

我第一次搞乱了Node.js,决定用express来创build一个简单的应用程序。 我按照如下的空目录按照github的指示:

npm install -g express express npm install -d node app.js 

当导航到localhost:3000我得到以下错误:

 Express 500 Error: Cannot find module './lib/jade' at Function._resolveFilename (module.js:332:11) at Function._load (module.js:279:25) at Module.require (module.js:354:17) at require (module.js:370:17) at Object. (C:\dev\gravity_kata\node_modules\jade\index.js:4:5) at Module._compile (module.js:441:26) at Object..js (module.js:459:10) at Module.load (module.js:348:31) at Function._load (module.js:308:12) at Module.require (module.js:354:17) 

node_modules\jade\lib查看时,我看到了Jade的所有库文件,但没有看到jade文件夹。 所以我创build了一个名为jade的lib下的文件夹,并将库文件移动到那里,现在我的默认应用程序工作。

现在,鉴于我几乎没有Node.js和Express的经验,我很确定我做错了什么。 有人知道这里发生了什么吗?

编辑:

我钻入Jade代码。 在Jade的index.js文件下,它需要lib\jade并在lib文件夹下查找,没有jade.js文件。 那么,这是问题,但为什么jade.js文件丢失? 当从npm下拉Jade 源文件时,lib目录下有一个jade.js文件。 我将lib文件夹从下载的源文件复制到我的项目的Jade模块,现在工作正常。

所以出于某种原因,npm并没有拉下jade.js文件。 packages.json文件中的版本匹配我拉下来的源代码0.21.0 。 有人有一个想法,为什么发生这种情况?

对我来说,在windows上,玉石版本0.22.0修正了这个问题。

cd到你的express项目文件夹并运行“npm install”,这将会安装所有的依赖关系

它可能与事实有关,即你在全球安装express( -g ),但npm install -d是在本地完成的。 尝试在全球范围内安装它们,或者按照我的意愿在本地安装:

 sudo npm uninstall express -g npm install express npm install jade (or npm install -d) 

确保所有的模块都是正确的。 Javascript很有趣,告诉你什么是错的。 尝试删除玉模板行,看看会发生什么。

我刚刚发现这个问题与玉石模块的错误。 看起来玉文件夹并不是自动创build的(某种错误)。 现在我解决这个重新安装玉。 之后,玉文件夹被自动创build。 用npm卸载gulp-jade ,然后再安装gulp-jade