タイトルの通りなので、整理してみました。
確認環境:
Windows10
node v12.18.4
npm 6.14.8
Node.jsとは
サーバーサイドのJavaScript
JavaScriptでWebアプリを作りたいと思ったら、事始めにNode.jsをインストールすることになるはず。
Node.jsをインストールすると、npmが使えるようになるはず。
Node.jsのインストール方法
いろいろある。
1 インストーラからインストール
手っ取り早い方法は、以下からインストーラをダウンロードしてインストールする。
Node.js 公式サイト
Node.js 公式サイト ダウンロード
インストールされていることを確認するためバージョンを表示する。
nodeでできることを確認するたには、nodeのヘルプを見るのがよいです。
2 Homebrewからインストール
macの場合、Homebrewを使ってインストールすることもできる。
Homebrewとは
macOS(またはLinux)用パッケージマネージャー
アップル(またはLinuxシステム)が提供していない必要なものをインストールとかアンインストールできる。
Homebrew 公式サイト
上記のサイトに記載されている方法で、まずはHomebrewをインストールして、
でnode.jsをインストールする方法もあり。
3 nodebrewからインストール
macOS(またはLinux)の場合、nodebrewを使ってインストールすることもできる。
※ Homebrewと名前が似てますが、別物。
nodebrewとは
複数のバージョンのnodeを切り替えて使える、nodeの管理システム。
使い方はほぼ、以下のサイトに書いてあります。
nodebrew github
npm(Node Package Manager)とは
Node.jsのパッケージ管理システム。
例えば、jsのフレームワークexpressが使いたい場合に、npmでインストールしたり、いらなくなったパッケージをアンインストールしたりできる。
nodeをインストールしたら、npmコマンドが使えるようになります。
npmはグローバルとローカルを意識する
グローバルとローカルでパッケージがインストールされる場所やスコープが異なります。
ググってnpm関連の記事を読む時に、このことを頭のすみに置いといたほうが良いです。
特定のプロジェクトでしか使わないパッケージはローカルにインストールし、いつも使うパッケージはグローバルにインストールするのが良い。
ローカルにインストール
対象プロジェクトにだけパッケージがインストールされます。
対象プロジェクトの「node_modules」フォルダにパッケージがインストールされます。
グローバルにインストール
ローカルインストールと異なる点は「-g」オプションをつけること。
インストールしたパッケージはどこからでも使えます。
WindowsとかMacとか環境によって異なりますが、ホームディレクトリのあたりにパッケージはインストールされます。
npmのコマンド
npmのヘルプを表示
npmのバージョンを表示
インストールされたパッケージの一覧を表示
リストが長くなる場合は、
のように「--depth」オプションで表示する階層を指定できます。
パッケージのアンインストール
npm uninstall -g [パッケージ名]
package.jsonとは
そのプロジェクトのプロジェクト名とかバージョン情報とかパッケージ情報が書かれたもの
package-lock.jsonとは
プロジェクトのすべてのパッケージの依存関係(dependency)が書かれたもの
「npm install」で自動作成される。
package.json、package-lock.jsonの使われ方
プロジェクト(パッケージ)を公開するつもりがないなら、あまり気にする必要はない。
複数人で同じプロジェクトを分担して作業する時や、異なるマシンで作業する場合、package.json、package-lock.jsonファイルをもとに、まったく同じ依存関係(パッケージのバージョンとか)を実現できる。
package.json、package-lock.jsonファイルをプロジェクトのルートフォルダにコピーして
すると、package.json、package-lock.jsonファイルに基づいて、必要なパッケージをインストールしてくれる。
以下の記事がすごい参考になりました。
【初心者向け】NPMとpackage.jsonを概念的に理解する -Qiita