10章パッケージ管理
Node.jsがモジュールシステムを導入したことで、JavaScriptで複雑なアプリケーションを記述する難易度が下がったことは「1章 イントロダクション」で述べました。さらにNode.jsが登場して間もなく、作成したモジュールをライブラリとして公開し共有する仕組みとして、npm(Node Package Manager)がNode.jsのデフォルトのパッケージ管理ツールとして導入されました。
パッケージ管理ツールは外部のライブラリ(npmの用語ではパッケージと呼ぶため、以降はパッケージと表記します)に対する依存性の管理、更新を容易にし、その利用を促進します。ソフトウェア開発における共通の課題に対して広く使われている既存の信頼性の高い解決策を利用すれば、アプリケーションをより少ないコードで効率的に開発できます。
npmがもたらしたパッケージ管理の仕組みは、今日ではNode.js環境にとどまらず、ブラウザ環境向けのJavaScriptの開発でも不可欠なものとなっています。
10.1 パッケージ管理ツール
パッケージ管理ツールは、Node.jsに限らず多くのプログラミング言語やプラットフォームに存在します。パッケージ管理ツールがどのような問題を解決するものか理解するために、このようなツールなしに外部のパッケージへの依存を管理するのがいかに煩雑かを考えてみましょう。
あるプロジェクトが外部のパッケージに依存したいとき、まずパッケージの実体が必要になります。Node.jsであればそれはJavaScriptファイルです。パッケージ管理ツールを利用しない場合、パッケージごとに実体をどこかのURLからダウンロードして、プロジェクトに保存することになるでしょう。
依存するパッケージが、さらに別のパッケージに依存する場合はどうでしょうか。やはり同じように、依存先の依存先をどこかのURLからダウンロードしてプロジェクトに保存しなければなりません。この作業はこれ以上依存するものがなくなるまで繰り返されます。 ...
Get ハンズオンNode.js now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.