以下は、プライベート npm リポジトリを設定する方法に関する詳細なガイドです。これには、開始に役立つさまざまな代替案や実用的なコード スニペットが含まれています。あなたが個人の開発者であっても、大規模なチームの一員であっても、独自の npm パッケージを非公開でホストすることで、制御性、柔軟性、セキュリティの向上を実現できます。
プライベート npm リポジトリを使用する理由
- セキュリティとコントロール: パッケージとコードを内部に保持します。
- ビルドの高速化: 外部依存関係とネットワーク遅延を削減します。
- アクセス管理: 特定のパッケージにアクセスまたは公開できるユーザーを制御します。
- バージョン管理とアーカイブ: 混乱や外部の混乱を招くことなく、内部パッケージの複数のバージョンを維持します。
プライベート npm リポジトリをホストするための一般的なアプローチ
-
セルフホスト型ソリューション
- Verdaccio: 人気のあるオープンソースの軽量 npm プロキシ レジストリ。
- Sonatype Nexus: 複数のリポジトリ形式 (npm、Maven など) をホストするための包括的なプラットフォーム。
- JFrog Artifactory: 広く使用されているバイナリ リポジトリ マネージャー。
-
Git ホストによって管理
- GitHub パッケージ: GitHub 組織内でプライベート npm パッケージをホストします。
- GitLab パッケージ: GitLab の DevOps プラットフォームの一部として組み込みの npm レジストリを提供します。
- Bitbucket (サードパーティ統合またはカスタム ソリューション経由)。
-
npm エンタープライズ
- 大規模なチームがあり、エンタープライズレベルの機能 (高度なアクセス制御、セキュリティ監査など) が必要な場合は、npm Enterprise が選択肢になる可能性があります。
1. Verdaccio を使用したプライベート npm レジストリのセットアップ
Verdaccio は、セットアップと使用が簡単なオープンソースの npm レジストリ プロキシです。これにより、プライベート パッケージをホストしたり、公式の npm レジストリからパブリック パッケージをキャッシュしたりすることができます。
1.1 Verdaccioのインストール
Node.js がすでにマシンにインストールされていると仮定します:
# Install Verdaccio globally npm install --global verdaccio
1.2 ヴェルダッチョを開始する
verdaccio
デフォルトでは、Verdaccio はポート 4873 で起動します。ブラウザを開いて http://localhost:4873 にアクセスすると、Verdaccio UI が表示されます。
1.3 Verdaccio の構成
Verdaccio は、最初の実行時にデフォルトの構成ファイルを作成します。編集してカスタマイズできます (ファイル パスはシステムによって異なる場合があります)。一般的な構成 (~/.config/verdaccio/config.yaml) は次のようになります:
# Install Verdaccio globally npm install --global verdaccio
- storage: Verdaccio がパッケージを保存するディレクトリ。
- uplinks: 公式 npm レジストリを指します。
- packages: アクセス、公開、およびプロキシのルールを定義します。
1.4 ユーザーの作成とログイン
verdaccio
これにより、ユーザー名、パスワード、電子メールの入力が求められます。完了すると、プライベート レジストリにログインします。
1.5 パッケージの公開
有効な 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 レジストリに公開されました。
1.6 プライベート レジストリからのインストール
このレジストリからパッケージをインストールするには、次のいずれかを実行できます:
- --registry フラグを使用します。
npm adduser --registry http://localhost:4873
- または、グローバルまたは特定のプロジェクト内でこのレジストリを指すように .npmrc を設定します。
npm publish --registry http://localhost:4873
2. GitHub パッケージの使用
すでにコードを GitHub でホストしている場合は、GitHub パッケージ を使用すると、すべてを 1 つ屋根の下に保管できる便利な方法となります。
2.1 リポジトリの GitHub パッケージを有効にする
- GitHub 上のリポジトリに移動します。
- 設定 をクリックします。 パッケージ。
- 組織/アカウントで GitHub パッケージが有効になっていることを確認してください。
2.2 GitHub パッケージに対する認証
read:packages スコープと write:packages スコープを使用してパーソナル アクセス トークン (PAT) を作成します。このトークンは、開発者設定 の GitHub 設定から生成できます。 個人アクセス トークン.
トークンを .npmrc に追加します:
npm install <package-name> --registry http://localhost:4873 </package-name>
YOUR_GITHUB_USERNAME を実際のユーザー名または GitHub 組織名に置き換えます。
2.3 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
2.4 GitHub パッケージからのインストール
.npmrc が GitHub パッケージを指していることを確認してから、次のようにします。
{ "name": "@YOUR_GITHUB_USERNAME/my-private-package", "version": "1.0.0", "publishConfig": { "registry": "https://npm.pkg.github.com" } }
3. GitLab パッケージの使用
GitLab は、組み込みのパッケージ レジストリも提供します。
3.1 GitLab パッケージ レジストリのセットアップ
- GitLab プロジェクトに移動します。
- 設定に移動します -> パッケージとレジストリ -> パッケージレジストリ。
3.2 .npmrcの設定
GitLab 認証情報を使用してローカル/グローバル .npmrc ファイルを作成または更新します。
npm publish
3.3 GitLab への公開
GitLab グループまたはユーザー名前空間と一致するように package.json スコープを更新します。
npm install @YOUR_GITHUB_USERNAME/my-private-package
次に公開します:
# Install Verdaccio globally npm install --global verdaccio
3.4 GitLab パッケージからのインストール
verdaccio
4. Sonatype Nexus または JFrog Artifactory による自己ホスト
複数のリポジトリ タイプをサポートする堅牢なオンプレミス ソリューションをお探しの場合は、Sonatype Nexus または JFrog Artifactory が最適かもしれません。
4.1 Nexus リポジトリ
- サーバーまたは開発マシンに Nexus Repository Manager をインストールします。
- http://your-nexus-server:8081 で Nexus UI にログインします。
- リポジトリ設定から新しいnpm (ホスト型)リポジトリを作成します。
- 認証を設定し (必要な場合)、URL をメモします。
同様の .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
4.2 JFrog Artifactory
- Artifactory をインストールして起動します。
- Artifactory UI で、npm の ローカル リポジトリ を作成します。
- 同様に .npmrc を設定します。
npm publish --registry http://localhost:4873
次を使用して公開します:
npm install <package-name> --registry http://localhost:4873 </package-name>
5.npmエンタープライズ
完全な制御、監査、高度なセキュリティを必要とする大規模組織の場合、npm Enterprise がオプションです。それは以下を提供します:
- シングル サインオン (SSO) の統合。
- 強化されたセキュリティ スキャン と監査。
- きめ細かいアクセス制御。
セットアップ手順については、npm Enterprise のドキュメントを参照してください。
ベストプラクティスとヒント
- スコープを使用する: プライベート パッケージ (@company/your-package) をスコープすると、パブリック パッケージと区別するのに役立ちます。
-
.npmrc 管理:
- 混乱を避けるために、プロジェクトごと .npmrc ファイルを使用してください。
- 資格情報をバージョン管理の対象外にします。
- CI/CD による自動化: 一貫性を保つために、公開手順を CI/CD パイプラインに統合します。
- プロキシのセットアップ: ほとんどの自己ホスト型レジストリはパブリック npm レジストリをプロキシできるため、共通の依存関係をインストールするためにレジストリを切り替える必要はありません。
- 監視と監査: レジストリ内のダウンロード、バージョン、アクティビティを追跡します。
結論
プライベート npm リポジトリをセットアップすると、独自のパッケージを安全に管理およびホストできるようになります。 Verdaccio のようなセルフホスト型ソリューションを使用している場合でも、GitHub パッケージや GitLab パッケージなどのマネージド ソリューションを活用している場合でも、Nexus、Artifactory、npm Enterprise などのエンタープライズ ソリューションを選択している場合でも、基本は同じです。
- レジストリを設定します。
- 認証を設定します。
- パッケージを公開して使用します。
セキュリティ、スケーラビリティ、メンテナンスに関する組織の要件に最も適したアプローチを選択してください。上記の例とコード スニペットを使用すると、独自のプライベート npm パッケージのホストを開始するための強固な基盤が得られるはずです。コーディングを楽しんでください!
以上がプライベート npm リポジトリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
