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

JavaScriptコアデータ型は、ブラウザとnode.jsで一貫していますが、余分なタイプとは異なる方法で処理されます。 1)グローバルオブジェクトはブラウザのウィンドウであり、node.jsのグローバルです2)バイナリデータの処理に使用されるNode.jsの一意のバッファオブジェクト。 3)パフォーマンスと時間の処理にも違いがあり、環境に従ってコードを調整する必要があります。

javascriptusestwotypesofcomments:シングルライン(//)およびマルチライン(//)

PythonとJavaScriptの主な違いは、タイプシステムとアプリケーションシナリオです。 1。Pythonは、科学的コンピューティングとデータ分析に適した動的タイプを使用します。 2。JavaScriptは弱いタイプを採用し、フロントエンドとフルスタックの開発で広く使用されています。この2つは、非同期プログラミングとパフォーマンスの最適化に独自の利点があり、選択する際にプロジェクトの要件に従って決定する必要があります。

PythonまたはJavaScriptを選択するかどうかは、プロジェクトの種類によって異なります。1)データサイエンスおよび自動化タスクのPythonを選択します。 2)フロントエンドとフルスタック開発のためにJavaScriptを選択します。 Pythonは、データ処理と自動化における強力なライブラリに好まれていますが、JavaScriptはWebインタラクションとフルスタック開発の利点に不可欠です。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
