0

我正在尝试关注这篇文章

我的 server.js 是这样的

var express = require('express'); 
var app = express();
var jade = require('jade');

我得到这个错误

module.js:340
    throw err;
          ^
Error: Cannot find module 'jade'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/var/www/server.js:3:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:497:10)

但是当我这样做时

try {
jade = require('jade');
} catch (err) {
var jade = require('/usr/local/lib/node_modules/jade/bin/jade');
}

我可以启动引擎,但是当我进入站点时,我看到

Error: Cannot find module 'jade'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at new View (/var/www/node_modules/express/lib/view.js:43:49)
    at Function.app.render (/var/www/node_modules/express/lib/application.js:488:12)
    at ServerResponse.res.render (/var/www/node_modules/express/lib/response.js:798:7)
    at io.sockets.on.socket.on.socket.get.data.message (/var/www/server.js:18:7)
    at callbacks (/var/www/node_modules/express/lib/router/index.js:164:37)
    at param (/var/www/node_modules/express/lib/router/index.js:138:11)

nmp install -g jade我尝试使用和安装翡翠npm install jade --global

但是什么都没有……知道我做错了什么吗?我检查了这里和其他网站的其他帖子,但没有结果

- 编辑 -

当我让 npm install jam --global 我在最后得到这个(在一些 http GET 和 http 304 之前,一切看起来都很好,没有警告或错误)

/usr/local/bin/jade -> /usr/local/lib/node_modules/jade/bin/jade
jade@0.35.0 /usr/local/lib/node_modules/jade
âââ character-parser@1.2.0
âââ commander@2.0.0
âââ mkdirp@0.3.5
âââ transformers@2.1.0 (promise@2.0.0, css@1.0.8, uglify-js@2.2.5)
âââ with@1.1.1 (uglify-js@2.4.0)
âââ monocle@1.1.50 (readdirp@0.2.5)
âââ constantinople@1.0.2 (uglify-js@2.4.0)
4

1 回答 1

1

也许 Node 的全局安装路径实际上并不在您的系统路径中。第二种情况的错误可能是像 Express 这样的子模块也试图要求玉。

尝试本地安装:假设jade在你的package.json(默认情况下,如果你使用express命令生成骨架)在你的项目根目录中运行它:

npm install -d

此标志安装依赖项

于 2013-10-06T18:17:33.997 回答