ホームページ >ウェブフロントエンド >jsチュートリアル >プライベート npm リポジトリ
以下は、プライベート npm リポジトリを設定する方法に関する詳細なガイドです。これには、開始に役立つさまざまな代替案や実用的なコード スニペットが含まれています。あなたが個人の開発者であっても、大規模なチームの一員であっても、独自の npm パッケージを非公開でホストすることで、制御性、柔軟性、セキュリティの向上を実現できます。
セルフホスト型ソリューション
Git ホストによって管理
npm エンタープライズ
Verdaccio は、セットアップと使用が簡単なオープンソースの npm レジストリ プロキシです。これにより、プライベート パッケージをホストしたり、公式の npm レジストリからパブリック パッケージをキャッシュしたりすることができます。
Node.js がすでにマシンにインストールされていると仮定します:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
デフォルトでは、Verdaccio はポート 4873 で起動します。ブラウザを開いて http://localhost:4873 にアクセスすると、Verdaccio UI が表示されます。
Verdaccio は、最初の実行時にデフォルトの構成ファイルを作成します。編集してカスタマイズできます (ファイル パスはシステムによって異なる場合があります)。一般的な構成 (~/.config/verdaccio/config.yaml) は次のようになります:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
これにより、ユーザー名、パスワード、電子メールの入力が求められます。完了すると、プライベート レジストリにログインします。
有効な package.json を含むパッケージ ディレクトリ内:
storage: ./storage auth: htpasswd: file: ./htpasswd max_users: 100 uplinks: npmjs: url: https://registry.npmjs.org/ packages: '@*/*': access: $all publish: $authenticated proxy: npmjs '**': access: $all publish: $authenticated proxy: npmjs middlewares: audit: enabled: true logs: - { type: stdout, format: pretty, level: http }
それだけです!これで、パッケージがローカルの Verdaccio レジストリに公開されました。
このレジストリからパッケージをインストールするには、次のいずれかを実行できます:
npm adduser --registry http://localhost:4873
npm publish --registry http://localhost:4873
すでにコードを GitHub でホストしている場合は、GitHub パッケージ を使用すると、すべてを 1 つ屋根の下に保管できる便利な方法となります。
read:packages スコープと write:packages スコープを使用してパーソナル アクセス トークン (PAT) を作成します。このトークンは、開発者設定 の GitHub 設定から生成できます。 個人アクセス トークン.
トークンを .npmrc に追加します:
npm install <package-name> --registry http://localhost:4873
YOUR_GITHUB_USERNAME を実際のユーザー名または GitHub 組織名に置き換えます。
GitHub ユーザー名または組織と一致するスコープで package.json を更新します。
registry=http://localhost:4873
次に公開します:
//npm.pkg.github.com/:_authToken=YOUR_PERSONAL_ACCESS_TOKEN @YOUR_GITHUB_USERNAME:registry=https://npm.pkg.github.com
.npmrc が GitHub パッケージを指していることを確認してから、次のようにします。
{ "name": "@YOUR_GITHUB_USERNAME/my-private-package", "version": "1.0.0", "publishConfig": { "registry": "https://npm.pkg.github.com" } }
GitLab は、組み込みのパッケージ レジストリも提供します。
GitLab 認証情報を使用してローカル/グローバル .npmrc ファイルを作成または更新します。
npm publish
GitLab グループまたはユーザー名前空間と一致するように package.json スコープを更新します。
npm install @YOUR_GITHUB_USERNAME/my-private-package
次に公開します:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
複数のリポジトリ タイプをサポートする堅牢なオンプレミス ソリューションをお探しの場合は、Sonatype Nexus または JFrog Artifactory が最適かもしれません。
同様の .npmrc セットアップを使用して、npm クライアントが新しい Nexus npm リポジトリを指すようにします。
storage: ./storage auth: htpasswd: file: ./htpasswd max_users: 100 uplinks: npmjs: url: https://registry.npmjs.org/ packages: '@*/*': access: $all publish: $authenticated proxy: npmjs '**': access: $all publish: $authenticated proxy: npmjs middlewares: audit: enabled: true logs: - { type: stdout, format: pretty, level: http }
通常どおりパッケージを公開します:
npm adduser --registry http://localhost:4873
npm publish --registry http://localhost:4873
次を使用して公開します:
npm install <package-name> --registry http://localhost:4873
完全な制御、監査、高度なセキュリティを必要とする大規模組織の場合、npm Enterprise がオプションです。それは以下を提供します:
セットアップ手順については、npm Enterprise のドキュメントを参照してください。
プライベート npm リポジトリをセットアップすると、独自のパッケージを安全に管理およびホストできるようになります。 Verdaccio のようなセルフホスト型ソリューションを使用している場合でも、GitHub パッケージや GitLab パッケージなどのマネージド ソリューションを活用している場合でも、Nexus、Artifactory、npm Enterprise などのエンタープライズ ソリューションを選択している場合でも、基本は同じです。
セキュリティ、スケーラビリティ、メンテナンスに関する組織の要件に最も適したアプローチを選択してください。上記の例とコード スニペットを使用すると、独自のプライベート npm パッケージのホストを開始するための強固な基盤が得られるはずです。コーディングを楽しんでください!
以上がプライベート npm リポジトリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。