webMemo

筋トレ好きな駆け出しフロントエンドエンジニアの勉強メモ

今更ながらnpmについて

npmは、Node Package Managerの略

node.jsのパッケージ(javascriptプラグインやモジュール)を管理するもの

node.jsをダウンロードするとnpmもダウンロードされる

npmの使い方

  1. 新しく作ったフォルダの場所でnpm initというコマンドをたたく。

  2. パッケージに関する情報などを格納するファイル「package.json」が生成される

  3. ここで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