Help us understand the problem. What is going on with this article?

Node.jsで、存在するはずのmoduleがrequireでエラーになることについて

More than 1 year has passed since last update.

引っかかる人多そうなのと、備忘録として

環境

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いい感じに通してくれること多いから忘れがちになるよね(

DNA1980
なにか初歩で詰まった時に更新します。皆さんの役に立てれば
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした