次の方法で共有


npmjs.com からのパッケージの使用

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

npm クライアントは、一度に 1 つのメイン レジストリ (Azure Artifacts のフィードと呼ばれます) を操作するように設計されています。 ただし、スコープが設定された追加のレジストリはサポートされます。 npmjs.com のプライベート パッケージとパブリック パッケージの両方を使用する場合は、アップストリーム ソースを使用することをお勧めします。 フィードでアップストリーム ソースを有効にすると、インストールされているパッケージのコピーが Azure Artifacts によってフィードに自動的に保存されます。 これにより、最大の柔軟性が得られ、スコープ付きパッケージとスコープなしパッケージの組み合わせをフィードで使用できます。これには、npmjs.com のスコープ付きパッケージと非スコープ パッケージの両方が含まれます。

前提条件

アップストリーム ソースを有効にする

フィードをまだ作成していない場合は、次の手順に従って新しいフィードを作成し、アップストリームソースチェックボックスをチェックして有効にしてください。 既にフィードがある場合は、次の 手順 に進み、npmjs をアップストリーム ソースとして追加します。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを作成します。

  3. フィードのわかりやすい 名前 を指定し、その 可視性 とスコープを 設定します。 [アップストリーム ソース] チェックボックスをオンにして、パブリック レジストリのパッケージを含めます。

  4. 終わったら [作成] を選択します。

npmjs アップストリームを追加する

フィードの作成時にアップストリームソースチェックボックスをチェックした場合は、npmjs が自動的に追加されているはずです。 そうでない場合は、次のように手動で追加できます。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを選択します。

  3. 歯車アイコン ボタン歯車アイコンを選択して、[フィードの設定]移動します。

  4. [アップストリーム ソース] を選択し、[アップストリームの追加] を選択します

  5. [パブリック ソース] を選択し、ドロップダウン メニューから npmjs (https://registry.npmjs.org/) を選択します。

  6. 完了したら [保存] を選択し、右上隅にある [保存] を選択して変更を保存します。

npmjs からパッケージをインストールする

npmjs からパッケージを保存する前に、フィードに接続するようにプロジェクトが設定されていることを確認します。 まだこれを行っていない場合は、提供されている手順に 従って npm プロジェクト を設定し、フィードに接続します。 この例では、HTTP 要求を 行う Axios ライブラリをインストールします。

  1. で npmjs https://www.npmjs.com//に移動します。

  2. Axios パッケージを検索し、それを選択して詳細ページに移動します。

  3. install コマンドをクリップボードにコピーします。

  4. コマンド プロンプト ウィンドウで、プロジェクトのディレクトリに移動し、インストール コマンドを実行します。

    npm install axios
    

Note

アップストリームからパッケージを保存するには、フィードおよびアップストリーム 閲覧者 (コラボレーター) ロール以上が必要です。 詳細については、「 アクセス許可の管理」 を参照してください。

保存されたパッケージを表示する

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。

  3. ソース メニューから npmjs を選択します。 以前にインストールした Axios パッケージがフィードで利用できるようになりました。 Azure Artifacts は、インストール コマンドの実行時にフィードにコピーを自動的に保存しました。

    アップストリームから保存された axios パッケージを示すスクリーンショット。