Node.js

npm の動作の仕組み

2022年7月1日

npm install を実行することで、プロジェクトが参照するパッケージをインストールしてくれます。但し、npm install をプロジェクトのサブフォルダ(子孫フォルダ)から実行しても、プロジェクトのルートフォルダに参照パッケージがインストールされます。

また、npm start を実行することで、プロジェクトを実行することができます。npm install 同様、npm start も、プロジェクトのサブフォルダ(子孫フォルダ)から実行しても問題なく動作することがあります。

これらのように、npm install や npm start が問題なく動作する理由は、npm はまず、カレントフォルダに package.json ファイル、もしくは、node_modules フォルダを探します。これらファイルやフォルダが見つかると、npm はこれらファイル・フォルダが見つかったフォルダを、npm コマンドを実行する有効なフォルダとみなします。

もしも package.json ファイル、node_modules フォルダが見つからない場合、上位フォルダに向かって該当ファイル・フォルダを探索します。そして、package.json ファイル・node_modules フォルダが存在するフォルダを npm コマンドを実行する有効なフォルダとみなします。

詳しくは、次の公式リファレンスを参照ください。

folders | npm Docs (npmjs.com)

その他参照リソース

🤔 Did you know you can run: “npm start” from any subfolder on your project? - idomongo - Medium

-Node.js