verdaccio:プライベートNPMパッケージを簡単に管理するための強力なツール
コアポイント
この記事は、panayiotis«pvgr»velisarakosとJurgen van de Moereによってレビューされました。 SitePointコンテンツを完璧にしてくれたすべてのSitePointピアレビュアーに感謝します!
私たち全員が知っているように、NPMとそのレジストリは、事実上のJavaScriptパッケージマネージャーであり、世界最大のコードコレクションです。しかし、驚くべき新しいパッケージを開発するときは、追加のプライバシーが必要です。それが会社プロジェクト(公に共有されるべきではない)、マスター/学士号の論文プロジェクトであるかどうか、またはあなたが私のように、新しいトピックでの最初の試みを恥ずかしく思うからです。
何らかの理由で、多くの選択肢があります。おそらく最も簡単な方法は、NPMのビジネスサービスを登録してから開始することです。しかし、これには料金が必要であり、全員の財布には適していない場合があります。
幸いなことに、あなたを助けることができるVerdaccioと呼ばれる無料の代替品があります。
Verdaccioは、構成なしでローカルNPMレジストリを作成できるNPMパッケージです。これは、独自のデータベースを備えたすべての必要な機能を備えたプロジェクトです。これは、ローカルキャッシュ/プロキシサーバーとして機能することで行います。
これは、カスタムリポジトリから存在しないものをインストールしようとするときはいつでも、公式のNPMレジストリをpingし、依存関係をダウンロードすることを意味します。カスタムリポジトリは、これらの依存関係をストレージと呼ばれる簡単なフォルダーに保存します。次のインストールでは、このローカルキャッシュのコピーを使用します。最も重要なことは、NPM Login/Adduser/PublishなどのNPMクライアントからのいくつかのコマンドがコピーされ、この記事の後半で表示されるローカルプライベートパッケージの作成をサポートすることです。これが新しいものではないと思うなら、すでにシノピアがあります、あなたは正しいです。 Verdaccioは、後方互換性を維持するシノピアのフォークにすぎませんが、同時に公式NPMの変更に追いつこうとします。 Sinopiaで利用できないこのような変更の1つは、Scopeパッケージです。これは、Angular 2やTypescript NPMホスティングタイプなどのライブラリを使用する前に見たことがあります。前のシンボルの @記号で簡単に識別できます:
<code># 安装 Angular2 依赖项 npm install @angular/core # 安装 TypeScript 的官方 Node.js 类型定义 npm install @types/node</code>
SinopiaとVerdaccioはどちらもMac/LinuxとWindowsで利用できます。
Verdaccioの初心者その後、Verdaccioを呼び出してインスタンスを開始し、プライベートレジストリを実行します。
<code>npm install -g verdaccio</code>
この記事では、開発マシンにレジストリのセットアップを紹介します。企業環境では、すべての開発者がアクセスできるように、専用サーバーでこれを行う必要がある場合があります。
Verdaccioはnode.jsアプリケーションです。つまり、クラッシュするたびに再起動するように注意する必要があります。 PM2を使用することをお勧めします。次の手順を実行する必要があります:さらに、この記事を読んだ後、Verdaccioがあなたに適していないと結論付けた場合、プロセスを停止し、次のコマンドでVerdaccioをアンインストールしました。
クライアントを構成
<code># 安装 pm2 npm install pm2 -g # 使用 pm2 启动 Verdaccio pm2 start PATH-TO-GLOBAL-VERDACCIO/verdaccio # --> 例如,对于 Windows:C:/Users/[USERNAME]/AppData/Roaming/npm/node_modules/verdaccio/bin/verdaccio</code>
この記事の手順に従って元のNPMレジストリに復元したい場合は、後で元のNPMレジストリに復元したい場合は、このコマンドNPMセットレジストリ
<code>npm uninstall -g verdaccio</code>
<code>npm set registry https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d/</code>
アドレスにナビゲートすることにより、レジストリブラウザにアクセスできるようになりましたhttps://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d。
カスタムレジストリを構成
<code># 将值设置为 null 将使用操作系统提供的列表 npm set ca null</code>
重要な設定は、Verdaccioリスニング用のデフォルトポートを構成することです。構成ファイルの最後に次の行を追加することにより、この設定を変更できます。
<code># 安装 Angular2 依赖项 npm install @angular/core # 安装 TypeScript 的官方 Node.js 类型定义 npm install @types/node</code>
関心のあるもう1つの設定は、特に企業環境でのプロキシの使用です。これらの設定は次のとおりです
<code>npm install -g verdaccio</code>
登録済みユーザー
その後、コマンドラインのプロンプトに従ってください。
<code># 安装 pm2 npm install pm2 -g # 使用 pm2 启动 Verdaccio pm2 start PATH-TO-GLOBAL-VERDACCIO/verdaccio # --> 例如,对于 Windows:C:/Users/[USERNAME]/AppData/Roaming/npm/node_modules/verdaccio/bin/verdaccio</code>
以前に構成したのと同じポートを使用することを忘れないでください。
このユーザーは、Verdaccioインスタンスに対する認証に使用されます。上記のconfig.yamlファイルに加えて、ログイン名と資格情報を保存するための新しく作成されたHTPASSWDファイルもあります。
最初のプライベートNPMパッケージ
パッケージを作成
良い練習は、パッケージ名をプレフィックスにすることで、プライベートローカルソースまたは公式のNPMソースを使用しているかどうかをすぐに見分けることができます。
次の部分は、実際のパッケージを作成することです。したがって、index.jsファイルを作成します。この簡単な例では、Helloworld関数のみをエクスポートします:
パッケージをリリース
<code>npm uninstall -g verdaccio</code>
ブラウザのレジストリブラウザに再びアクセスすると、
https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d/にあります。リストには新しいパッケージが含まれていることがわかります。
サンプルユーザーアプリケーション
プライベートパッケージを公開したので、それを使用する簡単なデモアプリケーションを作成しましょう。
の後、アプリケーションのルートディレクトリとして機能するindex.jsファイルを作成します。
プライベートパッケージをインストールするには、基本的に標準のNPMプロセスと同じことをする必要があります。
<code># 安装 Angular2 依赖项 npm install @angular/core # 安装 TypeScript 的官方 Node.js 类型定义 npm install @types/node</code>
これで、パッケージを使用できます。 index.jsを開いて、次のコードを追加します:
<code>npm install -g verdaccio</code>
おめでとうございます、あなたはちょうどあなた自身のプライベートパッケージを使用して使用しました!
パブリックパッケージをリクエストします
Verdaccioが舞台裏で行うのは、ストレージフォルダーを確認し、要求されたパッケージが存在するかどうかを確認することです。存在しない場合は、リクエストを公式NPMレジストリに転送し、ダウンロードして保存してから、リクエストに返信しようとします。次回、同じパッケージのNPMインストールリクエストを作成すると、パッケージが提供されます。
したがって、公式のレジストリがダウンしたり、何らかの理由でアクセスできない場合でも、独自のキャッシュバージョンにアクセスできます。 Verdaccioは常に要求されたコンテンツのみをダウンロードします。いくつかの更新を投稿すると、必要に応じてダウンロードします。
レジストリブラウザはパブリックパッケージを表示しないでください。それらを表示する必要がある場合は、.sinopia-db.jsonファイルを編集し、リスト配列にパッケージ名を手動で追加できます。その後、Verdaccioを再起動することを忘れないでください。結論
パッケージの一部が損傷または破損しているクレイジーな状況では、パッケージをホストするフォルダーストアであることを忘れないでください。そこでナビゲートして故障したパッケージを削除してください。次のインストールでは、問題が解決する場合があります。
この投稿を楽しんでいただければ幸いです。コメントでお聞きをお待ちしております。
VerdaccioのプライベートNPMパッケージの使用に関する
FAQ(FAQ)Verdaccioのインストールは非常に簡単です。システムにnode.jsとnpmをインストールする必要があります。インストールが完了したら、NPMインストールコマンドを使用してVerdaccio:NPMインストール-G Verdaccioをインストールできます。これにより、システムにVerdaccioがグローバルにインストールされます。
Verdaccioをインストールした後、NPMログインコマンドを使用してVerdaccioレジストリに最初にログインすることにより、プライベートNPMパッケージを公開できます。ユーザー名、パスワード、電子メールの入力が求められます。ログインしたら、パッケージディレクトリに移動し、NPMパブリッシュコマンドを使用してパッケージを公開します。
Verdaccioを使用すると、構成ファイルconfig.yamlを介してプライベートNPMパッケージへのアクセスを制御できます。誰がアクセス、公開、未発表のパッケージができるかを指定できます。また、ユーザーグループを作成して、アクセス許可を割り当てることもできます。
はい、VerdaccioはパブリックNPMパッケージのプロキシおよびキャッシュとして機能します。つまり、パッケージをインストールすると、Verdaccioが最初に保管型で使用できるかどうかを確認します。利用できない場合は、Public NPMレジストリから取得し、将来の使用のためにキャッシュします。
.NPMRCファイルの主要なレジストリとして設定することにより、Verdaccioをフォールバックオプションとして機能させることができます。このようにして、メインのNPMレジストリがダウンするたびに、NPMはVerdaccioを自動的に使用します。
はい、Verdaccioは、Docker、Kubernetes、Gitlabなどのさまざまなツールと統合できます。これにより、さまざまな開発ワークフローに適応できる普遍的なツールになります。
パッケージをVerdaccioに移行することは、Verdaccioレジストリに公開するのと同じくらい簡単です。これを行うには、Verdaccioレジストリにログインし、NPM Publishコマンドを使用することができます。
。 Verdaccioは、チーム環境で機能するように設計されています。誰がどのパッケージにアクセスできるかを制御でき、コラボレーションのための優れたツールになります。
Verdaccioはオープンソースプロジェクトであり、いつでも貢献しています。エラーを報告したり、機能を提案したり、ドキュメントを改善したり、プルリクエストを送信したりすることで貢献できます。
以上がVerdaccioでプライベートNPMパッケージをホスト、公開、管理しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。