Yarn と NPM: どちらのパッケージ モニターを選択するか
公開: 2023-05-25目次
パッケージモニターの概要
Node.js および JavaScript 開発者の間で最も有名なパッケージ マネージャーの 2 つは、NPM と Yarn です。 これら 2 つのいずれかを実装すると、プロジェクトの依存関係のインストール、アンインストール、アップグレード、変更などのタスクが合理化されるため、プロジェクトの依存関係の処理が簡素化されます。 ただし、これら 2 つの中から選択するのは、多くの人にとって難しい場合があります。
Yarn と NPM の違いを理解すると、最適な方を選択するのに役立ちます。
Yarn NPM とは何かについて混乱する前に、まずそれぞれの概要を見てみましょう。
糸とは何ですか?
Yarn (Yet Another Resource Navigator) は、Node.js JavaScript ランタイム環境用に開発された著名な JavaScript パッケージ マネージャーの 1 つです。 巨大なコードベースによるセキュリティ、パフォーマンス、一貫性の問題を解決します。 これは、NPM の発売時には欠けていた、より高度な機能を提供するために開発されました。
NPMとは何ですか?
NPM (Node Package Manager) は、システムに Node.js をインストールするときに自動的にインストールされるデフォルトのパッケージです。 これにより、プロジェクト内の Node.js 依存関係のインストール、管理、削除が簡素化され、ユーザーはオープンソース Node.js パッケージを共有できるようになります。 すべての NPM パッケージは、package.json として知られるファイルで定義されます。 これらのファイルの内容は JSON で記述する必要があります。
Yarn NPMとは何かの概要を理解するとともに、その歴史を見ていきましょう。

upGrad のソフトウェア開発コースをチェックしてスキルアップしてください。
糸とNPMの歴史
Yarn パッケージ マネージャーは、2016 年に Facebook によって開発されました。当初は、Google、Facebook、Exponent (現在は Expo.dev)、および Tilde の共同作業として、Node.js JavaScript ランタイム環境用に開発されました。
NPM は完全に JavaScript で書かれており、Isaac Z. Schlueter によって開発されました。 彼は、NPM を開発する際に、CPAN (Perl) や PEAR (PHP) などの他の同一プロジェクトからインスピレーションを得ました。
無料のテクノロジー コースをチェックして、競合他社に差をつけてください。
糸とNPMの比較
Yarn と NPM の主な違いは、パッケージのインストール プロセス、速度、パフォーマンス、セキュリティ、互換性、コミュニティ サポートの点にあります。 次のセクションでは、 Yarn と NPMを簡単に選択できるように、Yarn と NPM に関するすべての重要な点について説明します。
Yarn と NPM のインストール プロセス
Yarn のインストールプロセス:
ステップ 1: Yarn をシステムにインストールするときに、 Node.jsにパックされるNPMパッケージ マネージャーを介してインストールすることをお勧めします。
ステップ 2: NPM (Node.js パッケージ マネージャー) がインストールされたら、以下のコマンドを実行して Yarn をインストールおよびアップグレードできます。
npm install –グローバル ヤーン
ステップ 3:次のコマンドを実行して、Yarn がインストールされているかどうかを確認できます。
糸 - バージョン
Windows での NPM のインストール プロセス:
ステップ 1:ここから Windows インストーラーをダウンロードします。
ステップ 2:パスを選択した後、MSI バイナリ ファイルをダブルクリックしてインストール プロセスを開始する必要があります。
ステップ 3:アプリケーションを実行するためのアクセスを提供します。
ステップ4: 「次へ」ボタンをクリックします
ステップ 5: Node.js をインストールする希望のパスを選択します。必ず NPM パッケージ マネージャーを選択してください。
ステップ6: 「インストール」ボタンをクリックします。
ステップ 7: 「node -v」コマンドを入力して、ノードのインストールを確認します。
Mac での NPM のインストール プロセス:
ステップ 1:次の cURL インストール スクリプトを使用して NVM をダウンロードする
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh |バッシュ
ステップ 2:以下のコマンドを入力して NVM を確認します。
nvm –バージョン
ステップ 3:次のコマンドを実行して、.bash_profile ファイルに詳細を永続的に追加します。
echo 'export PATH=/usr/local/bin:$PATH' >>~/.bash\_profile
ステップ 4:次のコマンドを実行して、すべてのユーザーがシステム上でアクセスできるようにします。
ソース ~/.bashrc
ステップ 5:次のコマンドを実行して、Node.js の最新バージョンをインストールします。
nvmインストールノード
Yarn と NPM: 依存関係の解決
糸 | 故宮 |
プロジェクトの依存関係を並行してインストールします。 | プロジェクトの依存関係を順番にインストールします。 |
依存関係のインストールには、yarn add コマンドを使用します。 | 依存関係のインストールには NPM install コマンドを使用します。 |
バージョン ロック ファイルは、yarn.lock と呼ばれます。 | バージョン ロック ファイルは package-lock.json と呼ばれます。 |
NPM と Yarn の顕著な違いは、プラグアンドプレイ機能のサポートです。 Yarn は、プロジェクトの依存関係のマップを含む .pnp.cjs ファイルを作成することでこの機能をサポートします。 | NPM はプラグアンドプレイ機能をサポートしていません。 |
Yarn vs NPM: パフォーマンス
NPM と Yarnを評価すると、パフォーマンスに大きな違いがあります。詳細を確認してみましょう。
糸 | 故宮 |
大きなファイルのインストール速度は NPM よりも高速です。 | 大きなファイルのインストール速度は Yarn よりも遅くなります。 |
ゼロインストール機能を使用すると、ほとんど遅延なく依存関係をオフラインでインストールできます。 | ゼロインストール機能はサポートされていません。 |
Yarn vs NPM: 信頼性
Yarn は、NPM の発売時には欠けていた、より高度な機能を提供するために開発されました。 具体的には、Yarn はバージョン ロックをサポートしており、NPM よりも安全、効率、信頼性が高くなります。
Yarn 対 NPM: セキュリティ
糸 | 故宮 |
パッケージのダウンロード プロセス中に、パッケージのライセンス情報を使用して、バックグラウンドでセキュリティ チェックが実行されます。 その目的は、Yarn が危険なスクリプトをダウンロードしたり、依存関係の問題を引き起こしたりするのを防ぐことです。 | NPM バージョン 6 以降では、NPM はパッケージをインストールするたびにセキュリティ監査を実行して脆弱性を防止します。 NPM は、すべての依存関係に互換性があることを保証します。 |
Yarn と NPM の重要な違いは検証プロセスです。パッケージの検証プロセスではチェックサムが使用されます。 | パッケージの検証プロセスでは、package-lock.json ファイルに保存されている SHA-512 が使用されます。 |
Yarn vs NPM: ユーザーフレンドリー
NPMと Yarnの違いは、ユーザー エクスペリエンスにも基づいています。 通常、Yarn の CLI インターフェイスは、NPM よりも直観的でユーザー フレンドリーです。 より充実したドキュメントと役立つエラー メッセージが提供されます。
Yarn 対 NPM: コミュニティ サポート
コミュニティ サポートは、Yarn と NPM の重要な違いであり、ユーザーは考慮する必要があります。Yarn は、NPM よりも大規模なアクティブ ユーザー コミュニティを誇っています。 これは JavaScript コミュニティで急速に人気を博しました。
Yarn と NPM: 互換性
Yarn と NPM には互換性の点で大きな違いはありません。 両方に互換性があります。つまり、必要に応じて、プロジェクト開発中に適切な設定を使用して 2 つを変更できます。

Yarn は、NPM を必要とする特定のパッケージと互換性がない場合があることに注意してください。 一方、NPM は、ネイティブ モジュールを必要とするパッケージとの互換性が高くなります。 したがって、NPM では Yarn よりも互換性の問題が少なくなります。
ソフトウェア開発の無料コースを探索する
クラウド コンピューティングの基礎 | ゼロから始める JavaScript の基本 | データ構造とアルゴリズム |
ブロックチェーン技術 | 初心者向けの反応 | コア Java の基本 |
ジャワ | 初心者向けの Node.js | 高度なJavaScript |
Yarn 対 NPM: ライセンス
Yarn には、簡単にアクセスできるライセンス チェッカーが含まれており、インストールしたパッケージのライセンスを確認できます。 さらに、Yarn はパッケージ ライセンス情報を使用して、悪意のあるスクリプトをダウンロードしたり、依存関係の問題を引き起こしたりしないことを保証します。 NPM と Yarn の重要な違いは、NPM では Yarn よりもライセンス サポートが貧弱であることです。
Yarn と NPM: 他のツールとの統合
Yarn と NPM は両方とも、他のツールやフレームワークと積極的に統合できます。 そのうちのいくつかは次のとおりです。
- リアクトネイティブ
- バベル
- 冗談
- バベル
これらのツールはすべて Yarn および NPM と統合できる互換性がありますが、いくつかの異なる点により、Yarn および NPM はさまざまなツールとの統合により適しています。 これらの機能を調べてみましょう。
特徴 | 糸 | 故宮 |
インタラクティブなアップグレード | Yarn の組み込み機能で、任意のパッケージを最新バージョンに対話的にアップグレードできます。 | この機能は組み込まれていません。 |
スクリプト作成 | 組み込みのスクリプト システムはありません。 同じことを有効にするには API が必要です。 | カスタム コマンドを実行するための組み込みスクリプト システムを提供します。 |
ワークスペース | 単一のリポジトリで複数のパッケージを管理するための組み込みワークスペースが含まれています。 | サードパーティ製ツールを使用する必要があります。 |
ネットワークパフォーマンス | ネットワークパフォーマンスの高速化。 | ネットワークパフォーマンスが比較的遅い。 |
Yarn と NPM のどちらを選択しますか?
Yarn パッケージ マネージャーと NPM パッケージ マネージャーはどちらも便利で使いやすいことがわかっています。 Yarn は、パフォーマンスと速度の点で NPM よりも優れています。 その理由は、並列インストールを実行するためです。 ただし、Yarn は NPM よりも多くのディスク領域を消費します。
NPM は脆弱性の解決に努めてきましたが、Yarn は依然として NPM よりも安全です。 Yarn にはゼロインストールやプラグアンドプレイなどの最先端の機能が含まれていますが、NPM はこれらの機能をサポートしていません。
NPM と Yarn のどちらを選択するかは、プロジェクトの要件と好みによって異なります。 セキュリティとインストール時間を優先する場合は、Yarn が適切なオプションです。 一方、NPM は、多様なテクノロジーを使用することを目的としており、コミュニティからの多大なサポートが必要な場合に適したオプションです。
両方を試して、どちらが開発ニーズに適しているかを確認できます。
Yarn から NPM へ、またはその逆に切り替える方法
Yarn と NPM の間には、スイッチングという点で大きな違いがあります。
NPM から Yarn に切り替えるには、次の手順に従います。
ステップ 1: node_modules フォルダーを削除する
ステップ 2: package-lock.json ファイルを削除する
ステップ 3:次のコマンドを実行します。
糸のインストール
上記の手順を実装すると、新しいnode_modulesフォルダーとyarn.lockファイルが作成されます。
Yarn から NPM に切り替えるには、次の手順に従います。
ステップ 1: node_modules フォルダーを削除する
ステップ 2: yarn.lock ファイルを削除する
ステップ 3:次のコマンドを実行します。
npmインストール
上記の手順を実装すると、新しい node_modules フォルダーと package-lock.json ファイルが作成されます。

人気のソフトウェア エンジニアリング コースを探索する
LJMU および IIITB でコンピュータ サイエンスの理学修士号を取得 | カリフォルニア工科大学 CTME サイバーセキュリティ証明書プログラム |
フルスタック開発ブートキャンプ | ブロックチェーンのPGプログラム |
フルスタック開発におけるエグゼクティブ PG プログラム | |
以下のすべてのコースをご覧ください | |
ソフトウェアエンジニアリングコース |
結論
Yarn と NPM の両方のパッケージ マネージャーは信頼性が高く、適切なユーザー エクスペリエンスを提供します。 選択する際には、パフォーマンス、機能、柔軟性、コミュニティ サポート、パッケージ管理などの要素を考慮することができます。 これらのプロジェクト マネージャーを両方試して、どちらがプロジェクトに最も適しているかを自分で確認してください。
正しい選択をするための認識を継承しつつ、最先端のソフトウェア開発スキルを習得することも、この競争の時代を生き抜くための重要な前提条件です。
LJMU でコンピュータ サイエンスの大学院修士号を取得することで、輝かしいキャリアを保証できる厳しいソフトウェア開発スキルを身につけることができます。 このコースの世界クラスの教員メンバーと業界の専門家があなたを Python、Java、およびその他の関連専門分野の専門家にします。
さらに、 IIITB のフルスタック ソフトウェア開発ブートキャンプやフル スタック開発のエグゼクティブ PG プログラムなどのコースを受講することで、フルスタック開発者としての履歴書を強化することができます。 これらのコースでは、フルスタック開発者、フロントエンド開発者、バックエンド開発者、UI 開発者などの優れた仕事の機会を探索するのに役立つ、需要の高いフルスタック開発スキルを習得します。
Yarnの代わりにNPMを使用できますか?
はい、現在のワークフローに納得している場合は、Yarn の代わりに NPM を使用できます。 ただし、より優れた速度、パフォーマンス、セキュリティを期待する場合は、Yarn を選択することをお勧めします。
Yarn は NPM 経由でインストールする方が良いでしょうか?
Yarn をインストールする場合、Yarn Web サイトから直接インストールするか、NPM を介してインストールする (コマンド npm install -gyarn から) という 2 つのオプションが利用可能です。 NPM 経由で Yarn をインストールすると、パッケージを手動でダウンロードしてセットアップする必要がなくなります。 ただし、Yarn Web サイトから直接インストールするよりも時間がかかります。 これは、グローバル パッケージとしてインストールする必要があるためです。
Yarn の最新バージョンは何ですか?
Yarn 2 は、Yarn プロジェクト マネージャーの顕著な再アーキテクチャです。 ワークスペースに対するより高度なサポートを提供します。 これは、単発のスクリプトを実行するために使用できるyarn dlxと呼ばれるコマンドをサポートしています。 さらに、高度にモジュール化されており、プラグイン開発が簡素化されているため、拡張する場合も非常に簡単になります。