今更ながらnpmについて
npmは、Node Package Managerの略
node.jsのパッケージ(javascriptのプラグインやモジュール)を管理するもの
node.jsをダウンロードするとnpmもダウンロードされる
npmの使い方
新しく作ったフォルダの場所で
npm init
というコマンドをたたく。パッケージに関する情報などを格納するファイル「package.json」が生成される
ここで
npm npm install パッケージ名
でほしいパッケージをダウンロードする(npm uninstall パッケージ名
でアンインストールできる)
npm install
にはグローバルインストールとローカルインストールがある
- ローカルインストール
npm npm install パッケージ名
をするとそのフォルダ内の「node_modules」フォルダにインストールされる - グローバルインストール
npm npm install -g パッケージ名
のように-g
をつけてインストールするとnpmをインストールした場所にインストールされ、そのプロジェクトの場所でなくてもそのパッケージを使えるようになるnpm root -g
で保存場所を確認できる
npm install
と--save
npm npm install パッケージ名 --save
で「package.json」になんのパッケージのどのバージョンをインストールしたか記録できる
記録することにより、他の人がnpm install
した際、「package.json」に書かれているパッケージをダウンロードできる
ただ npm npm install -g パッケージ名
のグローバルインストールには--save
はつけられない
--save
には主に2種類ある
npm npm install パッケージ名 --save
npm npm install パッケージ名 --save-dev
--save
で「package.json」に記録すると「dependencies」に書かれる
--save-dev
で「package.json」に記録すると「devDependencies」に書かれる
- 「dependencies」は作ったパッケージを公開した際にインストールされる
- 「devDependencies」は開発用で、作ったものがnpmパッケージなど公開した際はインストールされない
つまり、「package.json」のあるディレクトリでnpm install
した際には開発者の立場になるため、すべてインストールされる。
コマンドでnpm install 公開したパッケージ
の場合は、「devDependencies」のパッケージはインストールされない。
パッケージ実行時に使用しないビルドツールやバンドルツール、タスクランナーなどは--save-dev
で「devDependencies」に記録するといい
【参考】
ちゃんと使い分けてる? dependenciesいろいろ。 - Qiita
npmの省略コマンド
コマンド | 省略 |
---|---|
npm install |
npm i |
npm install --save |
npm i -S |
npm install --save-dev |
npm i -D |
npm install --global |
npm i -g |
npmを使うメリット
- 複数の人と一緒に開発する際、
npm install
でパッケージをダウンロードできるため共有しやすい - 使えるパッケージが多い
- インストール、アンインストールが簡単
- バージョン管理が楽
- 1つのjsにまとめられる
など
npmとYarn
npmと同じようなパッケージマネージャーとしてYarnがある
インストールが速いなどメリットがあるらしい
【参考】
npmから乗り換えてわかったYarnの4つのメリット - ICS MEDIA