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 jade --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 のグローバル インストール パスが、実際にはシステム パスにない可能性があります。2 番目のケースのエラーは、おそらく Express のような補助モジュールも jade を要求しようとしている可能性があります。

ローカル インストールを試してください: がプロジェクト ルートにあると仮定jadeしますpackage.json(コマンドを使用してスケルトンを生成した場合は、デフォルトですexpress)。これをプロジェクト ルートで実行します。

npm install -d

このフラグは依存関係をインストールします

于 2013-10-06T18:17:33.997 に答える