用語の整理
npmとかnvmとかnodeとか…なんとなくごちゃごちゃってなってきたので整理する
node.js
- JavaScript実行環境
- node,npm,npxをセットにしたもの
→nodeとnpmは基本的には同じバージョンにしておけばよい
node
- JavaScript実行エンジン
バージョンマネージャ
nvm
- Node Version Managerの略
- Node.jsのバージョンを管理するためのツール
- Node.jsのインストール、アップデート、バージョンの切り替えができる
パッケージマネージャ
npm
- Node Package Managerの略
- Node.jsで外部パッケージをインストールして使うためのマネージャ
- インストールしたパッケージの、バージョンと依存関係を管理する
- パッケージのインストール・アンインストール・更新ができる
-
npm install
コマンド実行時の挙動- package.json に記述されている情報を元に、そこに記述されている パッケージを node_modules にインストールする
cf) npx
- npmパッケージを簡単に実行できるコマンド
- Node.js のコマンド実行を補助する
- npm@5.2.0から同梱されるようになった
- npm runはnpmで管理してるライブラリの何かしらのコマンドをpackage.jsonに登録して実行できる機能。npxはそれをわざわざ登録しなくても実行できる機能
yarn
- JavaScriptのパッケージマネージャ
- npmと互換性がある = 同じpackage.jsonが使える
- npmよりインストールが速い
- npmより厳密にモジュールのバージョンを固定できる
- yarn.lockファイルで、各パッケージのインストールバージョンを固定できる
- npmと一緒に使える
- npmと同じのpackage.jsonが使えるため、同一プロジェクトでnpm or yarnで固定しなくて良い
まとめ
よくわからず使ってしまっていたけれど、今度から何のためのコマンドを何のために使用しているか意識したい!