複数のノード パッケージ マネージャーを使用する理由
Node の最も優れた機能の 1 つは、パッケージ マネージャーです。ノード パッケージをインストールおよび管理するには、さまざまな方法があります。ここでは、1 つのパッケージ マネージャーを使用する場合と複数のパッケージ マネージャーを使用する場合の長所と短所、およびそれらを組み合わせて使用する最良の方法について説明します。
あなたが尋ねるパッケージマネージャーとは何ですか? 続きを読んで調べてください。
パッケージ マネージャーとは
ソフトウェア開発の世界では、依存関係はプロジェクトを実行するために必要なものです。それらはレシピの材料のようなものです。それらがなければ何も起こりません。
たとえば、JavaScript を使用するアプリを作成していて、jQuery というライブラリ (かつては多くの Web サイトで使用されていました) からいくつかの関数にアクセスする必要がある場合、jQuery は依存関係の 1 つになります。誰かがあなたのサイトにアクセスしたときに、あなたが作成したクールなアニメーションやインタラクションを見ることができるように、インストールする必要があります!
パッケージ マネージャーは、依存関係を管理することで、プロジェクト間のこれらの関係を管理するのに役立ちます。そのため、何か新しいものを追加または更新するたびに手動でパッケージをダウンロードする必要がなくなります。また、パッケージ マネージャーは、インストール後にすべてが適切に連携し、スムーズに実行されるようにします。 (これは、言うよりも簡単な場合があります)。
ノードには、NPM と呼ばれるパッケージ マネージャーがあらかじめパッケージ化されています。
NPM はデフォルトのパッケージ マネージャーであるため、ノード ランタイムに組み込まれています。NPM を使用して、GitHub またはNPMからパッケージを直接インストールできます。パッケージをこのサイトに公開して、他のユーザーが NPM のバージョンを使用してパッケージをインストールできるようにすることもできます。
NPM はパッケージをインストールするためだけに使用されるわけではありません。また、アプリケーション コード ベース内の 2 つ以上の必要なライブラリまたはモジュール間の依存関係の解決とバージョンの競合も処理します。
これは、サーバー上で Express のようなものの複数のバージョンが常に実行されている場合、NPM は、同様の作業を行っている他のインスタンスと競合することなく、必要なものを各インスタンスが確実に取得できることを意味します。また、特別なことをする必要もありません。必要に応じて、オブジェクトで単にrequire()を呼び出すだけではありません。
NPM は信じられないほど強力なツールであり、簡単に使い始めることができます。しかし、Node と JavaScript を初めて使用する場合、どのツールが使用可能で、どのツールが特定のプロジェクトに最適かを知るのは難しい場合があります。
NPM の主な問題は、パッケージのインストールが遅いことです。ときどきスクリプトを 1 つまたは 2 つ実行するだけであれば、これは大したことではありませんが、多数の異なるライブラリとツールを使用するアプリケーション全体を構築しようとしている場合は、非常にイライラすることがあります。
Yarn と PNPM は NPM よりも高速です
Yarn は、ロック ファイルを使用して偶発的な上書きを防ぎ、パッケージのインストール時に依存関係が正しく解決されるようにする、安全で信頼性の高い NPM の代替手段です。
また、NPM よりもインストール時間が短いため、多くの依存関係を持つ多くのモジュールを含む大規模なプロジェクトで作業している場合に特に便利です。
PNPM は Yarn と NPM の両方に代わるものですが、どちらにもある機能 (ロック ファイルなど) の一部がないため、まだあまり普及していません。ただし、その開発者は、PNPM はその軽量な性質のおかげで、Yarn や NPM よりも最大 4 倍速くパッケージをインストールできると主張しています。これは、コンピューターのディスク容量の使用量も少なくなることを意味します!
少数の依存関係のみを必要とするプロジェクトを構築している場合は、おそらく Yarn または NPM で十分です。ただし、多くのモジュールと依存関係を持つ大規模なプロジェクトで作業している場合は、PNPM の方が適している可能性があります。
複数のパッケージ マネージャーを使用する利点
1 つのパッケージ マネージャーが一度に処理できるのは、特定のライブラリの 1 つのバージョンのみです。同じライブラリの 2 つの異なるバージョンを他のプロジェクトまたは異なる環境 (たとえば、運用環境と開発環境) で使用する場合は、システムに 2 つの個別のパッケージをインストールする必要があります。
これにより、両方のパッケージが同じ依存関係のバージョンを同時に更新しようとすると、競合が発生する可能性があります。複数のパッケージ マネージャーを使用するということは、どの依存関係をインストールするか、およびこれらの種類の競合を回避するのに役立つ場所をより詳細に制御できることを意味します。
もう 1 つの利点は、複数のパッケージ マネージャーを使用する場合、それぞれが独自の機能セットを提供することです。あるものは他のものより速いかもしれません。より優れた依存関係管理機能を持つものもあります。他のものは、ReactJS や VueJS などの特定のフレームワーク内でアプリケーションを開発するのにより適している可能性があります…
最後に、複数のパッケージ マネージャーを使用すると、依存関係の検索とインストールにかかる時間が短縮され、開発者の生産性が向上します。これは、各パッケージ マネージャーが特定のユース ケース セットを念頭に置いて設計されているためです (たとえば、速度、セキュリティ、依存関係管理など)。
複数のパッケージ マネージャーをグローバルにインストールして使用する
コマンド ラインを使用して、特定のプロジェクトに使用するパッケージ マネージャーを指定できます。マシンに複数のパッケージ マネージャーをセットアップします。
- NPM は Node.js にあらかじめパッケージ化されています。これにより、コマンド ラインから他のパッケージ (およびパッケージ マネージャー) をインストールし、NPM を使用してすべてのプロジェクトの依存関係を管理できます。ブラウザーには NPM がプリインストールされていないため、ブラウザー (Webpack など) で NPM スクリプトを実行する場合にも役立ちます。
- NPM を使用して Yarn をグローバルにインストールします。これは、JavaScript プロジェクト内の依存関係を管理するためのもう 1 つの一般的なオプションです。NPM よりもいくつかの利点があり、特定のタイプのプロジェクトやチームに適している場合があります
- 最後に、PNPM をインストールします。このパッケージ マネージャーは、より高速で安定するように設計された NPM のフォークです。また、GitHub からの依存関係のサポートなど、一部の種類のプロジェクトに役立つ追加機能もいくつかあります。
グローバル インストールは、選択したパッケージがシステム全体で利用できることを意味します (コマンド ライン経由でどこからでもプログラムにアクセスできます) が、ローカル インストールは現在の作業ディレクトリからのみアクセスできます。
複数のパッケージ マネージャーを使用する方法の実例
これらの用途をチェックしてください:
1. Yarn と NPM を一緒に使用できます (例: create-react-app)
これは、NPM パッケージとの互換性を保ちながら、Yarn の速度と効率を活用したい場合に便利です。Yarn との互換性のためにまだ更新されていない最新バージョンのライブラリが必要な場合、または速度が遅いか機能セットが限られているにもかかわらず、チームが NPM を使い続ける別の理由がある場合は、これがうまくいく可能性があります。計画。また、モノレポのセットアップで 2 つの別個の依存関係ツリーを作成するのを避けるのにも役立ちます!
2. グローバル パッケージには Yarn を使用し、ローカル インストールには PNPM を使用する
PNPM は最速のパッケージ マネージャーですが、グローバルにインストールされたパッケージに使用するのは難しい場合があります。これは、Visual Studio Code などのプログラムとの互換性の問題を引き起こす可能性がある別のファイル構造を使用しているためです。ここで Yarn の出番です。グローバルにインストールされたパッケージには Yarn を使用でき、ローカル インストールには PNPM を使用できます。このソリューションは、ワークフローをあまり変更することなく、両方のパッケージ マネージャーの利点を得るのに適した方法です。このセットアップを使用すると、ワイルドになりたい場合は、システムから NPM を完全に削除できます (ただし、バックアップとして NPM があると便利です)。
3. PNPM と NPM をフォールバックとして使用する
これは、PNPM を使用したいが、すべての開発者に新しいツールをまだ習得させたくない場合に検討するのに適したオプションです。PNPM に慣れ、仕事で必要になるまで、NPM を使い続けることができます。
複数のパッケージ マネージャーを使用すると作業が簡単になります
複数のパッケージ マネージャーを使用できます。それらはグローバルまたはローカルにインストールできます。特定のプロジェクトに使用するパッケージ マネージャーを指定する場合は、コマンド ラインを使用するだけです。
システムに複数のパッケージ マネージャーをインストールする場合は、同じバージョンの Node.js を使用していることを確認してください。
結論として、複数のパッケージ マネージャーを使用する必要があると考えています。これは、Node.js を使い始めるのに最適な方法であり、NPM に既に精通している場合は、いくつかの新しいツールを学習することもできます。Node をまだインストールしていない場合、セットアップは Windows で簡単です。
コメントを残す