質問: require("jade"); ``` また、ユーザー/ユーザー名 直下にnode_modulesディレクトリーが作られており、その中にいろんなフォルダが作成されているのも確認は出来ております。 他には、ユーザー/ユーザー名/vagrant/centos-65/study 直下にもnode_modulesディレクトリーが作られており、その中にもたくさんのフォルダが作られております。 黒い画面の操作に不慣れであったり、unix関連の知識不足で混乱しているのですが、 npm installの実行方法と現状起きていることをどのように認識すれば良いのかを ご教授いただけると非常に助かりますm(_ _)m
回答: > > また、よくわかっていないのが、"npm install"コマンドを実行する際のカレントディレクトリーです。 > > このコマンドを実行する際のカレントディレクトリーはどこでも良いのでしょうか? > > > 何処でも良いです。 今いるディレクトリに`node_modules`ディレクトリが作られ、インストールしたパッケージが突っ込まれます。 JavaScriptファイル内で`require('xxx');`を行った場合。 そのファイルが居るディレクトリに`node_modules/xxx`というパッケージはあるか?あれば読み込む。 無ければ一つ上の階層の`node_modules/xxx`はあるか?無ければ...という風に上の階層に遡っていきます。 本当に無ければグローバルインストールしたパッケージを探します。 > > ターミナルでjadeコマンドを実行をすると、 > > 以下のようにエラーが出たので、うまくインストール出来ていないのだと思われます。 > > > それはローカルへインストール(`npm install jade`)したからだと思います。 npmで管理されているJadeやGulpのような一部パッケージは グローバルへインストール(`npm install -g jade`)した場合、コマンドを拡張してくれます 確かにグローバルへインストールしたにも関わらず使えなければ、Nodeやnpmに対するパスがちゃんと通ってないのでその辺を見なおして見て下さい。 > > `npm WARN enoent ENOENT: no such file or directory, open '/Users/userName/vagrant/centos-65/study/package.json'` > > > `npm init`でまだ`package.json`を作成してないからでしょうね。 npmではWARNは「一応読んどけ」程度の致命度なので、正常終了と似たようなもんです。 `package.json`を作成しておくと、 `npm install --save xxx`とセーブ付きでインストールすることで、 インストールしたパッケージを`package.json`内に保存してくれます。 `node_modules`フォルダをバッサリ消した後に、`npm install`と打ち込んでみてください。 保存したパッケージを全て一撃でインストールしてくれます。