12

winston を使用してログを記録する小さなモジュールを作成しました。

私は使用sudo npm install -g winstonしました(それはvm上にあります...だから、sudoなどにはあまり関心がありません.

npm からのログ:

winston@0.7.2 /usr/local/lib/node_modules/winston
├── cycle@1.0.2
├── stack-trace@0.0.7
├── eyes@0.1.8
├── colors@0.6.2
├── async@0.2.9
├── pkginfo@0.3.0
└── request@2.16.6 (forever-agent@0.2.0, aws-sign@0.2.0, tunnel-agent@0.2.0, oauth-sign@0.2.0, json-stringify-safe@3.0.0, cookie-jar@0.2.0, node-uuid@1.4.1, mime@1.2.11, qs@0.5.6, hawk@0.10.2, form-data@0.0.10)

ノードでモジュールを実行しようとすると、次のようになります。

Error: Cannot find module 'winston'
    at Function.Module._resolveFilename (module.js:331:15)
    at Function.Module._load (module.js:273:25)
    at Module.require (module.js:357:17)
    at require (module.js:373:17)
    at Object.<anonymous> (/home/name/Code/neon/neon-js-spike/logger.js:2:9)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:349:32)
    at Function.Module._load (module.js:305:12)
    at Module.require (module.js:357:17)

システム バージョン: ubuntu ノード -v = v0.11.7-pre npm -v = 1.3.8

PS自宅のラップトップ(別のubuntu vm)でこれを試してみましたが、うまくいきました。

4

5 に答える 5

12

クラスパスを設定するという提案が機能しない場合は、npm リンクを使用する必要がある可能性があります。参照: http://blog.nodejs.org/2011/04/06/npm-1-0-link/

winston の場合、スクリプトのルート フォルダーに移動し、次のコマンドを使用します。

npm link winston
于 2013-11-21T09:20:38.533 に答える
7

は、ノード モジュールがグローバルにインストールされるパスexport NODE_PATH=/usr/local/lib/node_modulesです。/usr/local/lib/node_modules

于 2013-10-15T16:39:08.930 に答える