3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windowsでのnpm installの使い方

Last updated at Posted at 2020-02-25

サマリ

  • 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

3
6
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
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?