LoginSignup
25
18

More than 3 years have passed since last update.

【npm】 パッケージのインストール先の確認(npm list)

Last updated at Posted at 2020-10-18

npm list

npm list によってパッケージのインストール先の確認をすることができます。

ローカルインストールの場合

# ローカルインストールされたパッケージの確認
$ npm list --depth=0

グローバルインストールの場合

# グローバルインストール先の確認
$ npm list -g | head -1

# グローバルインストールされたパッケージの確認
$ npm list -g --depth=0

実行例

ローカルインストールの場合

# typescript のインストール
$ npm install typescript
+ typescript@4.0.3

# node_modules に typescript のパッケージが存在していることの確認
$ ls node_modules
typescript

# ローカルインストールされたパッケージの確認
$ npm list --depth=0
typescript-node-base@1.0.0 /Users/sugurutakahashi/git/typescript-node-base
└── typescript@4.0.3

# node_modules のない適当なディレクトリに移動
$ cd ../
$ ls node_modules
標準出力なし(= node_modules が空)

# ローカルインストールされたパッケージの確認
$ npm list --depth=0
/Users/sugurutakahashi/git
└── (empty)

このようにローカルインストールされたパッケージはカレントディレクトリの node_modules の内容を確認していることがわかります。

グローバルインストールの場合

# (前提その1)nodebrew で複数のバージョンの Node.js のバージョンを管理している状態(v14.13.1 を使用)
$ nodebrew ls
v12.6.0
v14.13.1

current: v14.13.1

# グローバルインストール先の確認(npm list -g | head -1)
$ npm list -g | head -1
/Users/sugurutakahashi/.nodebrew/node/v14.13.1/lib

# グローバルインストールされたパッケージの確認(npm list -g --depth=0)
$ npm list -g --depth=0
/Users/sugurutakahashi/.nodebrew/node/v14.13.1/lib
├── npm@6.14.8
├── typescript@4.0.3
└── yarn@1.22.10

# v12.6.0 に切り替え
$ nodebrew use v12.6.0
$ nodebrew ls
v12.6.0
v14.13.1

current: v12.6.0

# グローバルインストール先の確認
$ npm list -g | head -1
/Users/sugurutakahashi/.nodebrew/node/v12.6.0/lib

# グローバルインストールされたパッケージの確認
$ npm list -g --depth=0
/Users/sugurutakahashi/.nodebrew/node/v12.6.0/lib
├── @vue/cli@4.4.6
├── @vue/cli-service-global@4.4.6
├── express@4.17.1
├── firebase-tools@8.6.0
├── gatsby-cli@2.12.66
├── gitbook-cli@2.3.2
├── multi-file-swagger@2.3.0
├── npm@6.14.8
└── yarn@1.22.10

このように Node.js のバージョンを切り替えるとグローバルインストールされたパッケージの内容が異なることがわかります。

つまり、グローバルインストールしても nodebrew などで複数の Node.js のバージョンを管理している場合は、npm install -g <package> したパッケージが、それぞれのバージョンで別のものとして管理されるということになります。

25
18
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
25
18