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