サマリ
- npm installでパッケージをインストールする際「-g」オプションの有無による違い
- npm install -gによる資材の配置場所の変更方
- npm installでインストールされたパッケージの確認方法
- npm installでインストールされたパッケージの削除方法
目的
node.jsを学習する際、npm installの使い方がわからず挫折しそうになった。
原因として、各記事で「-g」オプションの有無にばらつきがあり、
「-g」オプションの有無による具体的な違いやnpm install実行後の確認方法がまとまって説明されている記事がなかなか見つからなかった。
同じことで困った人の参考として、自分の実行例と合わせて説明を記載する。
本文
1. npm installコマンドの効果
node.jsで利用するパッケージをダウンロードできる。
ダウンロードしたパッケージはrequireで取得・利用できるようになる。
例)expressをインストールした場合
var express = require('express')
2. 「-g」オプションの有無による違い
-
「-g」オプションが無い場合
npm install
を実行したフォルダ配下でのみパッケージを利用可能。 -
「-g」オプションが有る場合
npm install
を実行したフォルダ配下以外からでもパッケージを利用可能。
3. 「-g」オプションの有無によるダウンロード資材の配置場所の違い
-
「-g」オプションが無い場合
npm install
を実行したフォルダ配下のnode_modules
フォルダ。 -
「-g」オプションが有る場合
npm config list
コマンドを実行して表示された情報の「prefix」の場所。
以下の実行例の場合はC:\nodejs\node_modules_global
配下にnode_modules
フォルダ配下にパッケージが配置される。
実行例)
> npm config list
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.13.4 node/v12.14.1 win32 x64"
; userconfig C:\Users\user\.npmrc
prefix = "C:\\nodejs\\node_modules_global"
; builtin config undefined
; node bin location = C:\Program Files\nodejs\node.exe
4. npm install -gによる資材の配置場所の変更方
npm config set
コマンドでprefixの設定値を更新することで配置場所を変更可能。
例)C:\nodejs02\node_modules_globalに変更する場合
> npm config set prefix=C:\nodejs02\node_modules_global
なお、グローバルパッケージの配置場所を変更した場合、Windowsでは新しい配置場所にpathを通さないとnode.jsの実行時にエラーとなった。
5. npm installでインストールされたパッケージの確認方法
npm list
コマンドで確認できる。npm ls --depth=0
とすると、依存関係を除いたパッケージ情報のみ表示できる。
- 「-g」オプションを付けずにインストールしたパッケージ(ローカルパッケージ)の確認
> npm ls
sample@0.0.0 C:\node_sample\sample ← ローカルパッケージの配置場所(npm installコマンドを実行した場所)
+-- cookie-parser@1.4.4
| +-- cookie@0.3.1
| `-- cookie-signature@1.0.6
+-- debug@2.6.9
| `-- ms@2.0.0
+-- express@4.16.4
| +-- accepts@1.3.7
| | +-- mime-types@2.1.26
| | | `-- mime-db@1.43.0
| | `-- negotiator@0.6.2
:
:
- 「-g」オプションを付けてインストールしたパッケージ(グローバルパッケージ)の確認
> npm ls -g
C:\nodejs\node_modules_global ← グローバルパッケージの配置場所
+-- express@4.17.1
| +-- accepts@1.3.7
| | +-- mime-types@2.1.26
| | | `-- mime-db@1.43.0
| | `-- negotiator@0.6.2
| +-- array-flatten@1.1.1
| +-- body-parser@1.19.0
| | +-- bytes@3.1.0
| | +-- content-type@1.0.4 deduped
:
:
6. npm installでインストールされたパッケージの削除方法
npm uninstall
コマンドで削除可能。
npm ls --depth=0
でインストールパッケージを表示し、表示されたパッケージの@より前の文字列を指定することで削除ができる。
実行例)ローカルパッケージのexpressを削除する場合
> npm ls --depth=0
sample@0.0.0 C:\node_sample\sample
+-- cookie-parser@1.4.4
+-- debug@2.6.9
+-- express@4.16.4
+-- http-errors@1.6.3
+-- jade@1.11.0
`-- morgan@1.9.1
> npm uninstall express
参考にさせていただいたページ
いまさら聞けない!npmのこれだけは知っておきたい基礎知識
https://www.webprofessional.jp/beginners-guide-node-package-manager/
Qiita npmコマンドの使い方
https://qiita.com/yoh-nak/items/8446bf12094c729d00fe