npmは、Node.jsのデフォルトのパッケージマネージャーです。 Facebookは、 Yarnと呼ばれる代替のパッケージ管理ソリューションを長い間開発してきました。 Yarnは、標準ソリューションとしてGithub readmesから徐々に消えているようであり、公式サイトの統計は、パッケージのごく一部のみがYarnによって実行されていることを示しています。 それにもかかわらず、それは箱の外で考える価値があります。
Yarnは既存のpackage.jsonファイルと完全に互換性があるため、既存のプロジェクトで両方のソリューションを問題なく使用できます。 2つのソリューションのコマンドは、わずかに異なります。 これが最も重要なコマンドの比較です:
説明 | npm | 糸 |
初期化 | npm init | 糸の初期化 |
更新 | npm install -g npm | 糸の自己更新 |
パッケージをインストールする | npmインストール -保存[名前] | 糸追加[名前] |
パッケージをインストールする | npmインストール --save-dev [名前] | 糸追加 --dev [名前] |
パッケージをグローバルにインストールする | npm install -g [名前] | ヤーングローバル追加[名前] |
すべてのパッケージをインストールします | npmインストール | ヤーンインストール |
すべてのパッケージを更新します | npmアップデート | 糸のアップグレード |
パッケージをアンインストールします | npm remove [名前] | 糸取り[名前] |
ヤーンは、npmの弱点のいくつかを解決することを目的として始めました。 最も明らかな違いは、パフォーマンスの向上です。インクリメンタルインストール、マルチスレッド、最新のキラー機能であるプラグアンドプレイ(PNP)により、パフォーマンスが大幅に向上します。 Plug'n'Playは、プロジェクトベースのnode_modulesフォルダーのアイデアを破棄します。これは、天文学的な高さまで増大する可能性のあるファイルの数です。 詳細については、公式のプラグアンドプレイホワイトペーパーをご覧ください。 eslintをnpmで一度インストールし、次にキャッシュをウォームアップしたヤーンをインストールして、速度の違いを明確にします(6x!):

