0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

#0066(2024/03/08)npmコマンド

0
Last updated at Posted at 2025-03-08

よく使う npm コマンド一覧

npm は、Node.js のパッケージ管理やプロジェクト管理に不可欠なツールです。
以下では、日常的に使われるその他の npm コマンドについて、その動作原理や使用場面を詳しく解説します。


npm init

  • 目的:
    プロジェクトの初期化時に、package.json を作成するためのコマンドです。
  • 動作原理:
    対話形式で、プロジェクト名、バージョン、ライセンス、依存関係などの基本情報をユーザーに入力させ、package.json ファイルを生成します。
  • 使用場面:
    新しいプロジェクトを開始するとき。

npm install

  • 目的:
    プロジェクトの依存パッケージをインストールします。
  • 動作原理:
    package.jsonpackage-lock.json に記載された依存関係に基づき、必要なパッケージをダウンロードし node_modules フォルダに配置します。
    また、個別のパッケージ名を指定してインストールすることも可能です。
  • 使用場面:
    依存関係の初期インストールや、新しいパッケージの追加時。

npm update

  • 目的:
    インストール済みパッケージを最新バージョンに更新します。
  • 動作原理:
    現在のバージョン制約(package.json に記述)に従い、利用可能なアップデートを取得して、node_modules 内のパッケージを更新します。
  • 使用場面:
    プロジェクトの依存関係を最新の状態に保ちたいとき。

npm uninstall (または npm remove)

  • 目的:
    不要になったパッケージをプロジェクトから削除します。
  • 動作原理:
    指定したパッケージを node_modules から削除し、必要に応じて package.json からも依存関係のエントリを除去します。
  • 使用場面:
    使用しなくなったライブラリやツールの整理時。

npm run

  • 目的:
    package.json"scripts" セクションに記述されたカスタムスクリプトを実行します。
  • 動作原理:
    スクリプト名を指定して実行することで、例えば、ビルド、テスト、開発サーバの起動などのタスクを自動化します。
  • 使用場面:
    テスト実行、ビルド、サーバ起動などの定型タスクの実行時。

npm ls

  • 目的:
    現在のプロジェクトにインストールされているパッケージと、その依存関係のツリーを表示します。
  • 動作原理:
    node_modules 内のパッケージ構造を再帰的に走査し、依存関係を視覚的にツリー形式で出力します。
  • 使用場面:
    依存関係の確認、バージョンの衝突や循環依存の調査時。

npm outdated

  • 目的:
    アップデート可能なパッケージの一覧を表示します。
  • 動作原理:
    現在インストールされているパッケージのバージョンと、npm レジストリ上の最新バージョンを比較し、差異をリストアップします。
  • 使用場面:
    プロジェクトの依存関係を最新に保つため、更新が必要なパッケージを確認する際。

npm ci

  • 目的:
    package-lock.json に基づいてクリーンな状態で依存パッケージをインストールします。
  • 動作原理:
    既存の node_modules を削除し、package-lock.json を厳密に再現する形で依存パッケージを一括インストールするため、ビルドの再現性が非常に高くなります。
  • 使用場面:
    継続的インテグレーション(CI)環境や、クリーンなインストールが求められる場合。

npm cache

  • 目的:
    npm のキャッシュを管理します。例として、キャッシュのクリア(npm cache clean --force)などがあります。
  • 動作原理:
    npm はパッケージのダウンロード時にキャッシュを利用して再利用性を高めています。
    キャッシュの操作により、ディスク容量の管理やキャッシュが原因の不具合の解決が行えます。
  • 使用場面:
    キャッシュ関連のエラー解決や、ディスクスペースの管理時。

npm publish

  • 目的:
    自作のパッケージを npm レジストリに公開します。
  • 動作原理:
    package.json の情報に基づいて、パッケージを圧縮し、認証情報を用いて npm レジストリへアップロードします。
  • 使用場面:
    自分が開発したライブラリやツールを共有したいとき。

npm login / npm logout

  • 目的:
    npm レジストリへの認証情報の登録や削除を行います。
  • 動作原理:
    ユーザー名、パスワード、メールアドレスなどを入力し、認証トークンを取得または削除することで、公開やプライベートパッケージのインストール・管理を行えるようにします。
  • 使用場面:
    パッケージの公開、プライベートパッケージのインストール時や、セキュリティ管理のため。

npm view react-scripts version

  • 目的:
    npm レジストリから react-scripts パッケージの情報を取得し、特にそのバージョン番号を表示します。

  • 動作:

    • npm view コマンドは、指定したパッケージのメタデータ(バージョン、依存関係、リポジトリ情報など)を取得します。
    • react-scripts version とすることで、react-scripts の最新バージョンや指定されたバージョンを確認できます。

npm install react@latest react-dom@latest

  • 目的:
    最新版の reactreact-dom を現在のプロジェクトにインストールします。

  • 動作:

    • npm install コマンドは、パッケージをインストールするために使われます。
    • @latest を付けることで、npm レジストリ上の最新リリース版を明示的にインストールします。
    • これにより、プロジェクトの依存関係が最新の安定版に更新されます。

npm audit fix --force

  • 目的:
    プロジェクト内の依存パッケージに存在する既知のセキュリティ脆弱性を自動的に修正します。

  • 動作:

    • npm audit は、依存関係の中に脆弱性がないかチェックします。
    • fix サブコマンドにより、自動的に脆弱性があるパッケージの更新を試みます。
    • --force オプションを付けると、互換性に関する警告を無視して、強制的にアップグレードを行います(場合によってはメジャーアップデートを含むため、注意が必要)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?