NODEJS各ツール紹介(REACT環境設置篇)

### NVMについて
nvm（Node Version Manager）は、複数のNode.jsバージョンを管理するためのツールです。これを使うことで、さまざまなNode.jsバージョンを簡単にインストール、切り替え、管理することができます。以下に、nvmのインストール方法と使用方法を説明します。

#### 1.nvmのインストール
##### macOSおよびLinuxでのnvmのインストール
以下のコマンドを実行して、nvmをインストールします。
```bash:bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
```
または、wgetを使用している場合は次のコマンドを実行します。
```bash:bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
```
インストールスクリプトがnvmをダウンロードし、シェルに設定を追加します。インストールが完了したら、シェルの設定ファイルを再読み込みする必要があります。通常、以下のコマンドを実行します。
```bash:bash
source ~/.bashrc  # Bashを使用している場合
source ~/.zshrc   # Zshを使用している場合
```

##### Windowsでのnvmのインストール
Windowsでは、nvm-windowsを使用できます。nvm-windowsのGitHubページからダウンロードしてインストールしてください。

#### 2.nvmの使用方法
##### Node.jsバージョンのインストール
特定のバージョンのNode.jsをインストールするには、以下のコマンドを使用します。
```bash:bash
nvm install <version>
```
例として、最新のLTSバージョンをインストールする場合：
```bash:bash
nvm install --lts
```

または、特定のバージョン（例えば14.17.0）をインストールする場合：
```bash:bash
nvm install 14.17.0
```

##### Node.jsバージョンの切り替え
インストールした特定のバージョンに切り替えるには、以下のコマンドを使用します。
```bash:bash
nvm use <version>
```

##### インストール済みのNode.jsバージョンの一覧表示
インストール済みのNode.jsバージョンを一覧表示するには、以下のコマンドを使用します。
```bash:bash
nvm ls
```

##### 利用可能なすべてのNode.jsバージョンの一覧表示
利用可能なすべてのNode.jsバージョンを一覧表示するには、以下のコマンドを使用します。
```bash:bash
nvm ls-remote
```

##### 以下は、Node.jsバージョンのインストール、切り替え、管理方法の例です。

nvmをインストールします。

特定のバージョンのNode.jsをインストールします：

```bash:bash
nvm install 14.17.0
```
インストールしたバージョンに切り替えます：

```bash:bash
nvm use 14.17.0
```
インストール済みのバージョンを一覧表示します：

```bash:bash
nvm ls
```
デフォルトバージョンを設定します：

```bash:bash
nvm alias default 14.17.0
```
nvmを使用することで、異なるNode.jsバージョン間の切り替えが簡単になり、プロジェクトのニーズに応じた開発環境を確保できます。

### NPX,NPMについて

**npx と npm はどちらも Node.js 環境で使用されるツール**ですが、それぞれ異なる用途と機能を持っています。以下に、npx と npm の違いとそれぞれの使用方法について説明します。

:::note info
NPXとNPM両方はNODEJS Packagesが存在する前提として使える
言い換えれば、Node.jsバージョン本体 は NPX PackageとNPM Package　を含める.
:::

#### 1.npm とは
npm (Node Package Manager) は、Node.js パッケージを管理するためのツールです。npm を使用すると、Node.js のライブラリやアプリケーションをインストール、管理、共有することができます。以下は npm の主な機能です。

##### npm の主なコマンド
###### パッケージのインストール

ローカルインストール（プロジェクトディレクトリ内にインストール）:

```bash:bash
npm install <package-name>
```
グローバルインストール（システム全体で使用可能にインストール）:

```bash:bash
npm install -g <package-name>
```
パッケージのアンインストール

```bash:bash
npm uninstall <package-name>
```
パッケージの更新

```bash:bash
npm update <package-name>
```
パッケージのバージョン確認

```bash:bash
npm list <package-name>
```
依存関係のインストール

プロジェクトの package.json ファイルに基づいてすべての依存関係をインストール:

```bash:bash
npm install
```

#### 2.npx とは
npx は、npm に同梱されている実行ツールで、Node.js パッケージを簡単に実行するためのものです。特に、一時的にパッケージをインストールして実行したり、ローカルにインストールされたパッケージを直接実行したりするのに便利です。以下は npx の主な機能です。

npx の主な使用方法
一時的なパッケージの実行

一度だけ使用するパッケージをインストールして実行:

```bash:bash
npx <package-name> [command]
```
例えば、create-react-app を使って新しい React アプリを作成する場合:

```bash:bash
npx create-react-app my-app
```
ローカルインストールのパッケージの実行

プロジェクトの node_modules フォルダ内にインストールされたパッケージを直接実行:

```bash:bash
npx <local-package-name> [command]
```
例えば、ローカルにインストールされた eslint を使ってコードをチェックする場合:

```bash:bash
npx eslint .
```
指定バージョンのパッケージの実行

特定のバージョンのパッケージを一時的にインストールして実行:

```bash:bash
npx <package-name>@<version> [command]
```
例えば、特定のバージョンの typescript を実行する場合:

```bash:bash
npx typescript@4.2.3 --version
```
#### 3.npx と npm の違いまとめ
##### npm:

主にパッケージのインストール、管理、共有に使用。
ローカルまたはグローバルにパッケージをインストールして利用。
npm install で依存関係を管理。

##### npx:

パッケージの一時的な実行に特化。
一度だけ使用するパッケージをインストールして即座に実行。
ローカルインストールされたパッケージを簡単に実行。
特定バージョンのパッケージを手軽に実行。
これにより、開発作業がより柔軟になり、必要に応じて適切なツールを選択することで効率的な作業が可能になります。


### YARNについて
Yarn は、Facebook によって開発された高速で信頼性の高い Node.js パッケージマネージャーです。Yarn は npm に似ていますが、いくつかの独自の特徴と利点があります。

:::note info
yarnはnodejs packages中の一つです。
:::

#### 1.Yarn の基本コマンド
パッケージのインストール
プロジェクトの依存関係をインストール：

```bash:bash
yarn install
```
特定のパッケージをインストール：

```bash:bash
yarn add <package-name>
```
開発依存としてパッケージをインストール：

```bash:bash
yarn add <package-name> --dev
```
パッケージの削除
特定のパッケージを削除：

```bash:bash
yarn remove <package-name>
```
パッケージの更新
依存関係を更新：

```bash:bash
yarn upgrade
```
特定のパッケージを更新：

```bash:bash
yarn upgrade <package-name>
```
パッケージの実行
プロジェクト内のスクリプトを実行：

```bash:bash
yarn run <script-name>
```
例えば、package.json に以下のスクリプトがある場合：

```bash:json
コードをコピーする
"scripts": {
  "start": "node app.js",
  "test": "jest"
}
```
以下のコマンドでスクリプトを実行できます：

```bash:bash
yarn start
yarn test
```
#### 2.Yarn の利点と npm との比較
##### スピード:

Yarn はキャッシュを使用することで、同じパッケージの再インストールが非常に速くなります。
##### 一貫性:

Yarn は yarn.lock ファイルを使用して依存関係を固定し、全ての環境で同じバージョンのパッケージがインストールされるようにします。
オフラインインストール:

Yarn は一度インストールしたパッケージをキャッシュに保存するため、ネットワーク接続がなくてもパッケージをインストールできます。
セキュリティ:

Yarn はインストールしたパッケージのインテグリティを検証し、セキュリティを強化します。
##### まとめ
Yarn は、依存関係の管理を迅速かつ一貫して行うための強力なツールです。npm と同様に、Node.js プロジェクトのパッケージマネージャーとして広く使用されていますが、その高速性と信頼性の高さから、多くの開発者が Yarn を選択しています。Yarn を使用することで、開発環境の構築がよりスムーズになり、依存関係の管理が容易になります。