Node.js パッケージ マネージャー (コアパック)

 

目次

1 はじめに

2.コアパックを有効にする

3.Node.jsコアパックを使用する

4. 構成パッケージ

5. グローバルバージョンをアップグレードする

6. オフラインのワークフロー

7. サポートされているパッケージマネージャー

8. Node.js Corepack が npm をインターセプトする

9. Corepack共通コマンド


1 はじめに

Corepack は、パッケージ マネージャーのバージョン管理に役立つ実験的なツールです。これは、サポートされている各パッケージ マネージャーのバイナリ プロキシを公開します。バイナリ プロキシは、呼び出すと、現在のプロジェクトに構成されているパッケージ マネージャーを認識し、必要に応じて明示的にインストールでき、最終的には明示的なユーザー操作なしで実行できます。

この機能により、次の 2 つの主要なワークフローが簡素化されます。

  • これにより、システム固有のインストール プロセスに従う必要がなくなり、必要なパッケージ マネージャーを用意するだけで済むため、新しい寄稿者の参入障壁が簡素化されます。
  • これにより、更新が必要になるたびに手動で同期する必要がなく、チームの全員が使用したいバージョンのパッケージ マネージャーを確実に使用できるようになります。

2.コアパックを有効にする

まだ実験段階であるため、デフォルトでは有効になっておらず、使用するには明示的に有効にする必要があり、バイナリ ファイルの隣の環境にシンボリック リンクを設定します (必要に応じて既存のシンボリック リンクを上書きします)。有効にするには、次のコマンドを実行します。

corepack enable

今後は、サポートされているバイナリへの呼び出しは、追加のセットアップなしで機能します。問題が発生した場合は、次のコマンドを実行して無効にすることもできます。

corepack disable

3.Node.jsコアパックを使用する

2 つのバージョンの Node をローカルにインストールし、対応するバージョンに Corepack が含まれているかどうかを確認します。

ノードの複数バージョンのインストールについては、以下も参照できます。

http://t.csdn.cn/8Ci3j icon-default.png?t=N5K3http://t.csdn.cn/8Ci3j

次のバージョン (V14.4.0) のディレクトリを確認すると、以下に示すようにコアパックが見つかりません。

次のバージョン (V16.16.0) のディレクトリを確認してコアパックが見つからない場合は、手動でコアパックを有効にして次のコマンドを実行します。

コアパックを有効にする

ディレクトリは次の図に示されています。

 corepack enable コマンドを実行すると、以下にさらに pnpm および Yarn 関連のファイルがあることがわかります。

コマンド ラインから次のコアパックとそれに対応するバージョンを表示することもできます。

C:\Users\Administrator>corepack -v
0.17.0

4. 構成パッケージ

Corepack プロキシは、ディレクトリ内で最も近い package.json ファイルを見つけます。「packageManager」プロパティを抽出するための現在のディレクトリ階層。

値がサポートされているパッケージ マネージャーに対応する場合
、Corepack は問題のバイナリへのすべての呼び出しが要求されたバージョンのものであることを確認し、必要に応じてオンデマンドでダウンロードするか、正常に取得できない場合は中止します。

たとえば、次のような構成です。

{
  "name": "test_yilai",
  "version": "1.0.0",
  "packageManager": "[email protected]",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "element-plus": "^2.3.7",
    "element-ui": "^2.15.13",
    "lodash": "^4.17.21"
  }
}

構成後、次の依存関係をインストールしてみてください。

yarn install 
Usage Error: This project is configured to use pnpm

packageManagerをyarnに変更した場合

{
  "name": "test_yilai",
  "version": "1.0.0",
  "packageManager": "[email protected]",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "element-plus": "^2.3.7",
    "element-ui": "^2.15.13",
    "lodash": "^4.17.21"
  }
}

pnpm の実行結果を見てください。 

pnpm instal

Usage Error: This project is configured to use yarn

この問題を解決するには、パッケージ インストール アーティファクト (ni) を使用します。次のコマンドを実行してインストールします。

npm i -g @antfu/ni

完了したら、次の図に示すように、コマンド ラインに「ni」を直接入力し、Enter キーを押してパッケージをインストールします。

設置に最適なものが見つかります。

5. グローバルバージョンをアップグレードする

既存のプロジェクトの外部で実行している場合 (たとえば、yarn init の実行中)、Corepack はデフォルトで、各ツールの最新の安定リリースに対応する事前定義されたバージョンを使用します。これらのバージョンは、corepack prepare コマンドを実行することで、設定したいパッケージ マネージャーのバージョンに合わせて設定できます。 

corepack prepare [email protected] --activate

あるいは、ラベルまたは範囲を使用することもできます。

corepack prepare pnpm@latest --activate
corepack prepare yarn@stable --activate

6. オフラインのワークフロー

多くの実稼働環境にはネットワーク アクセスがありません。Corepack は通常、パッケージ マネージャーのディストリビューションをレジストリから直接ダウンロードするため、そのような環境と競合する可能性があります。これを回避するには、ネットワークにアクセスできる状態で (通常は展開用のイメージを準備しているときに) corepack prepare コマンドを呼び出します。これにより、ネットワークにアクセスできなくても、必要なパッケージ マネージャーを利用できるようになります。

7. サポートされているパッケージマネージャー

次のバイナリは Corepack 経由で提供されます。

パッケージマネージャー

バイナリ名

yarn、 yarnpkg

pnpm

pnpm、 pnpx

8. Node.js Corepack が npm をインターセプトする

Corepack は他のパッケージ マネージャーと同様に npm をサポートできますが、デフォルトでは有効になっていません。

プロパティ内の有効なオプションですが、有効になりませnpm"packageManager"

もちろん、インターセプトしたい場合は、corepack enpm を使用して解決する必要があります。

9. Corepack共通コマンド

corepackenable コアパック機能をオンにする

corepack 無効化 corepack 機能の削除

corepack quantum は、パッケージ マネージャーをキャッシュにインポートします。

corepack prepare パッケージマネージャーアーカイブを生成します

 

おすすめ

転載: blog.csdn.net/u014388408/article/details/131484361