原文: npm Uninstall – How to Remove a Package

Node のパッケージマネージャー (NPM) には、パッケージを操作するために、さまざまなコマンドが用意されています。

npm ライブラリからパッケージをインストールするのと同じく、アンインストールすることもできます。

npm uninstall コマンドは、この目的のために用意されているコマンドで、パッケージのアンインストールができます。

ただし、通常のパッケージ (dependencies に指定されたパッケージ) をアンインストールする方法と、グローバルにインストールされたパッケージや、開発環境のみで使うパッケージをアンインストール方法には違いがあります。

この記事では、通常のパッケージ、グローバルパッケージ、開発用のパッケージのアンインストール方法について説明していきます。

パッケージを npm uninstall で削除する方法

パッケージの配置されているディレクトリ中で npm uninstall パッケージ名 という構文を使うと、コマンドでパッケージを削除することができます。

この記事では NodeJS のフレームワークである Express をデモ用に取り上げ、パッケージをアンインストールする方法をご紹介します。

以下のスクリーンショットから、Express が依存関係 (dependencies) として package.json 中に指定されていることがわかりますね。

ss-1

ですが、npm uninstall express を実行した後は、依存関係の中には Express は見当たりません。

ss-2

Express がもはや存在しないことがわかりますね。依存関係がなくなったので、package.json 中の "dependencies" というキーもなくなります。

開発用のパッケージを npm uninstall で削除する方法

開発環境でのみ使われるパッケージは、dev dependency として指定されたものが該当します。

dev dependency のパッケージを削除するには、-D もしくは --save-dev フラグを添えて、パッケージの名前を指定して npm uninstall を実行します。

基本的な構文は  npm uninstall -D package-name または npm uninstall --save-dev package-name となります。

依存関係が配置されているディレクトリ (フォルダ) で、このコマンドを実行してください。

この記事ではデモ用に Nodemon を使って dev dependency のパッケージを削除する例をご紹介します。

Nodemon を使って NodeJS アプリケーションを起動すると、開発中のファイルやディレクトリ内の変更を検知して、自動的にアプリケーションを再読み込みしてくれます。

以下のスクリーンショットでは、Nodemon が dev dependency の一覧に含まれているのがわかりますね。

ss-3

Nodemon を削除するためには、npm uninstall –D nodemon を実行します。

ss-4

すると  package.json から Nodemon がなくなったことがわかりますね。

グローバルパッケージを npm uninstall で削除する方法

グローバルパッケージは皆さんのコンピューター上にグローバルにインストールされているパッケージです。そのため、プロジェクトに毎回インストールする必要がありません。

グローバルパッケージを削除するためには -g フラグを添えて、パッケージ名を指定して npm uninstall を実行します。

基本的な構文は、npm uninstall -g package-name となります。

ここでは、グローバルパッケージを削除する例として、オリジン間リソース共有を指定するために用いる CORS (Cross-origin Resource Sharing) パッケージを取り上げます。

CORS はブラウザの同一オリジンポリシー / Same Origin Policy (SOP) の動作をブロックしてくれます。この結果、ブラウザから他のサイトへのリクエストを送信することができます。

以下のスクリーンショットから、package.json 中には CORS パッケージが存在していないことがわかりますね。

ss-5

CORS はプロジェクト直下ではなく、このコンピューターにグローバルにインストールされています。

パッケージをグローバルにインストールしたり、グローバルにインストールされたパッケージを一覧表示したい場合は、npm list -g  を実行します。

ss-6

今度は、CORS がグローバルのパッケージ中に含まれることがわかりますね。

グローバルにインストールされた CORS パッケージをアンインストールするには、npm uninstall -g cors を実行します。

アンインストール用のコマンドの実行後、npm list –g を実行しても CORS が含まれていないことがわかります。

ss-7

まとめ

この記事では、いろいろな種類の NPM パッケージをアンインストールする方法について学びました。これで不要なパッケージを削除できるようになり、コードをより管理しやすくなりました。

読んでくださってありがとうございます。

この記事がお役に立つようであれば、皆さんからシェアしていただけたら幸いです。