#npmとは
Node Package Managerの略
Node.jsのパッケージ管理システムである。
2010年にIsaac Z. Schlueter氏によって開発された。
#パッケージ管理システムとは
パッケージ管理システム(パッケージかんりシステム)は、オペレーティングシステム (OS) というひとつの環境で、各種のソフトウェアの導入と削除、そしてソフトウェア同士やライブラリとの依存関係を管理するシステムである。
要は世界の凄い人たちが作って公開しているモジュールをパッケージとして管理し、検索、閲覧、及びダウンロードして使えるよ〜というシステムです。
また、使用したいパッケージの依存パッケージ、そのバージョンまで自動で管理してくれます。
#npmを使わないとどうなる?
例えば**express**というパッケージを使用したいとします。
expressは30ものパッケージと依存関係にあります。
この場合expressの他にこの30ものパッケージを別途手動でダウンロードしなければexpressは動きません。
更にはこれらのパッケージもまたそれぞれ依存先を持っており、更にそのまた依存先のそのまた依存先の・・・・
・・とにかく全てのパッケージをダウンロードする必要があり、しかもバージョンの整合性もとらなければなりません。
そんな面倒なことも、npmが全て自動でやってくれる訳ですね(感謝)
package.json
package.jsonというJSONファイルにはそのパッケージ(プロジェクト)の情報が記述されています。
依存パッケージやそのバージョンもここで管理されています。
#まとめ
npmについてざっと調べたことを書きました。
何気なく使っていたnpmのありがたみを知ることができました。