node.js
のnpm
でls
を実行するとdeduped
が表示される。
/app $ npm ls minimist
mastogetter@0.0.1 /app
+-- ava@3.5.0
| `-- update-notifier@4.1.0
| `-- latest-version@5.1.0
| `-- package-json@6.5.0
| `-- registry-auth-token@4.1.1
| `-- rc@1.2.8
| `-- minimist@1.2.5 deduped # ← これ
`-- eslint@6.8.0
+-- file-entry-cache@5.0.1
| `-- flat-cache@2.0.1
| `-- write@1.0.3
| `-- mkdirp@0.5.3
| `-- minimist@1.2.5 deduped # ← これ
`-- mkdirp@0.5.3
`-- minimist@1.2.5 # ← でも、これには付いてない
deduped
とは
すでに同じ
npm
パッケージが読み込まれているので除外したという意味。
npm ls
コマンド実行時に表示される deduped
とは、de-duplicated
の略です。
de-
は、デフラグやデトックスとかの de
で、「取り除く」「除外」などを意味します。つまり duplication
(重複)を reduce
(除外)したという意味です。
日本語で言うと「同じ npm
パッケージ、及びバージョンのパッケージがインストール済みなので、インストールされなかった依存パッケージである」という意味です。つまり、容量を確保するための仕組みによるものです。
この除外処理は npm install
などの後に自動実行されます。
しかし、パッケージのアーカイブを手動でインストールした場合など、意図せずパッケージが重複していることがあり、明示的に実行したいことがあります。npm dedupe
もしくは npm ddp
コマンドで、手動でも重複パッケージを削除できます。
そして、手動もしくは自動でコマンドが実行されると、npm ls
時に削除された依存パッケージに deduped
と表示されます。

「(なんだよ、deprecated
みたいな、やばちんなパッケージなのかと思ったじゃんか)ホッ」
参考文献
- What is deduped in npm packages list? のコメント @ StackOverflow
- dedupe | CLI commands @ 公式 npm ドキュメント
- インストール済みのパッケージ一覧を表示する @ Qiita