web-dev-qa-db-ja.com

package.json内の異なるレジストリからのnpm依存関係を持つ方法は?

私のpackage.jsonファイルで、依存関係を宣言しました。依存関係は、パブリックレジストリからのもので、プライベートレジストリ(この場合はArtifactory)からのものです。

"dependencies": {
        "vue": "^2.4.4", //public registry
        "ce-ui": "http://myartifactory.com/artifactory/npm-local/ce-ui/-/ce-ui-0.0.2.tgz"
      }

キャレットまたはタイドルを使用して依存関係を宣言する方法を探しています。

 "dependencies": {
    "vue": "^2.4.4",
    "ce-ui": "^0.0.2"
  }

前もって感謝します。

8
Kamil W

Artifactoryに2つのリポジトリを持つ仮想リポジトリを用意することをお勧めします。

  1. 外部リポジトリまたはパブリックレジストリを使用したリモートリポジトリ。おそらく、レジストリにこのURLがあります。
  2. ローカルNPMリポジトリ(実際のローカルリポジトリ)。

次に:

  • 次のコマンドを使用して、デフォルトのレジストリを新しいローカルリポジトリに置き換えます。

    npm config set registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/your-npm-virtual-repo-name
    
  • パッケージをArtifactoryにデプロイします。初めてアーティファクトをアーティファクトに手動でアップロードするか、すべてのプロジェクトでこのコマンドを使用してアップロードできます。

    npm publish --registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/your-virtual-repo-name
    
  • Package.json内のリンクを削除し、次のような依存関係の名前とバージョンのみに置き換えます。

    "dependencies": {
      "vue": "^2.4.4",
      "ce-ui": "^0.0.2"
    }
    

詳細はこちら:

4
Javier C.