npmを使ってパッケージを管理する際のコマンドについてメモします。
パッケージ管理機能『npm』について
Node Package Managerの略。Node.jsのパッケージ(あらかじめ便利な機能をまとめたもの。ライブラリ。)を管理するためのツールです。Node.jsインストール時に自動でインストールされています。
パッケージ管理で主に使用するnpmコマンド
npm初期化
npmの管理ファイルpackage.jsonを作成します。package.jsonにはプロジェクトの設定や依存ライブラリの情報が記載されます。
npm init
パッケージインストール
インターネット上にあるnpmパッケージを管理しているところ(npmレジストリ)からパッケージがインストールされます。
- package.jsonに記載された依存パッケージをまとめてローカルイントールする
npm i npm install
- package-lock.jsonに記載された依存パッケージをまとめてローカルインストールする
npm ci
npm iはインストールされるバージョンの範囲にバラツキが出るため、正しく開発環境を再現できない可能性があります。対してnpm ciは元の開発環境で実際にインストールされたバージョンを自環境にもインストールするため、開発環境を再現できます。
gitからcloneしたリポジトリを動かす場合などはnpm ciを使ったほうが良いです。
- パッケージを指定してローカルインストールする
npm i [packagename] npm install [packagename]
- パッケージを指定してグローバルインストールする
npm i -g [packagename] npm install --global [packagename] ※-gか--globalのどちらかを指定
グローバルインストールとローカルインストールの違い:
グローバルインストールはPCにインストールするようなイメージ。ローカルインストールは該当のプロジェクトだけにインストールするようなイメージ。
主にコマンドラインから操作するようなツールはグローバルインストールするのが良い。コード内部で使用するツールはローカルインストールが良い。
パッケージアンインストール
インストールしているパッケージをアンインストールします。
- ローカルアンインストール
npm un [packagename]
- グローバルアンインストール
npm un -g [packagename]
インストールされているパッケージの確認
- ローカルインストールされているパッケージの表示
npm list
- グローバルインストールされているパッケージの表示
npm list -g
よく使うnpmパッケージ参考
Nodejsを用いたWebサーバ構築でよく使うライブラリを参考として記載します。
express
Node.jsのWebアプリケーション開発で使用するパッケージです。 実務でも使用することが多いようです。
nodemon
プロジェクト配下のファイルを更新した際にWebアプリを自動で再起動してくれるツールです。無いと毎回自分でコマンドを入力して起動しなおす必要があります。
dotenv
環境ごとに異なる値を.envファイルにまとめて定義・参照することが可能となります。これにより環境に依存する値を一括管理できます。また、.gitignoreに.envを設定することで環境情報をgithubにアップロードしなくなるため、セキュリティ対策として重要です。