0

簡単なコーヒースクリプトWebサーバーをセットアップしました。

http = require 'http'
express = require 'express'

http.createServer (req, res) ->
        res.writeHead 200
        res.end 'Hello, World!'
.listen 8888

console.log 'Server running at http://127.0.0.1:8888/'

私がこれを実行するとき、それは問題なく、ページを提供しています:

~/jsfinder> coffee app.coffee
Server running at http://127.0.0.1:8888/

OK、問題ありません。しかし、nodemonで同じことを試してみると、次のようになります。

~/jsfinder> nodemon app.coffee

Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead.
    at Function.Module._compile.Object.defineProperty.get (module.js:386:11)
    at Object.<anonymous> (/home/user/bin/nodemon@0.6.12:4:21)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

したがって、これはnodemonのバグであるか、npmグローバルのモジュールの1つが実際にrequire.pathsを使用しています。私は後者で行きます。つまり、私はグローバルに約12のモジュールをインストールしているので、それらすべてをgrepして、そのように見つける必要がありますか?または、その例外スタックトレースは、表示されていないことを教えてくれますか?これはnodemonの正当なバグのように見えますか?

npm update -g今朝は問題なく実行したので、すべてのモジュールが最新である必要があります。

更新:ノードモジュールディレクトリでいくつかのgrepを実行しましたが、結果はありませんでした:

/usr/lib/nodejs/npm/node_modules> find . -type f -print0 | xargs -0 grep require.paths
/usr/lib/nodejs/npm/node_modules> cd ..
/usr/lib/nodejs/npm> find . -type f -print0 | xargs -0 grep require.paths
/usr/lib/nodejs/npm> cd ..
/usr/lib/nodejs> find . -type f -print0 | xargs -0 grep require.paths
./module.js:    throw new Error('require.paths is removed. Use ' +

と:

~/jsfinder> find . -type f -print0 | xargs -0 grep require.paths
~/jsfinder> 

つまり、グローバルまたはローカルのどのモジュールもrequire.pathsを使用していないということです。紛らわしい

4

1 に答える 1

1

私は前者と一緒に行き、エラーがにあることを喜んで賭けますnodemon@0.6.12:4:21:)

nodemonであるはずなので、更新コマンドは機能しなかったと思います@0.6.23

于 2012-08-09T14:55:20.993 に答える