$NODE_PATHをexportすべし。

問題

windows7 + cygwinの環境にnodejsをインストールしてからというもの、 atomをコマンドラインから呼んだりgulpするときに次のようなエラーが出て困っていた。

module.js:340 Error: Cannot find module
...

原因がわからずにatomを入れなおしたり環境変数PATHの順番を入れ替えてみたりしたがダメ。 環境変数の関係でコマンドラインから呼ぶべきでない何かが参照されてエラーかと思っていたが、調べるとどうやら違うらしい。

対策

$ npm install -gでインストールしたライブラリは$ npm bin -gで表示されるフォルダ以下のnode_module/にインストールされる。 Nodeはrequireされたライブラリをここに探しにいくので、自分でこのフォルダにパスを通す必要がある。例:(C:\Users\USERNAME\AppData\Roaming\npm\node_module)

環境変数NODE_PATHが設定されたことで、エラーは解消。 Atomやめてsublimeに戻す必要なかった。