引っかかる人多そうなのと、備忘録として
##環境
Mac(OS X)
##問題
初めてのJavaScriptだー
$ npm -g install モジュール名
でmoduleをインストール。よっしゃサンプルプログラムを動かすでーと意気込んでいると
Error: Cannot find module 'モジュール名'
あの、、、、、
なんでかrequireのところでエラー起こるんですけど、、、、
##原因
調べたところ、こんなものを見つけた。
http://phiary.me/npm-node-js-require-module-memo/
require で探すモジュールのパスは global.module.pathsから見れるらしい。
$node
>global.module.paths
[ 'e:/Users/hoge/Documents/work/node_modules',
'e:/Users/hoge/Documents/node_modules',
'e:/Users/hoge/node_modules',
'e:/Users/node_modules',
'e:/node_modules' ]
(上記の表示内容はphiaryさんのをまるっと持ってきました)
(ちなみに対話型の画面は.exitで抜けられます。←quit()連打して少し詰まった)
つまるところ、せっかく-gをつけてグローバルに使えるようにしたのにnode自体がそれどこ?状態な訳だ。
Win環境の時は散々気にしてたPATHが通っていないということだった。
##解決法
ということでPATHを通そう
https://qiita.com/hikaruna/items/abdadca27f12c0e4eb78
ここを参考に
$ echo $NODE_PATH
と入力してみると、なんも返ってこなかった。やっぱり、、、
$ export NODE_PATH=`npm root -g`
と入力すると、うまく動いた!
(なお、これはnodeのPATHなので全体のPATHとは違うらしい。)
Mac使ってるとPATHいい感じに通してくれること多いから忘れがちになるよね(