良い一日!
遅かれ早かれ、組織はプロジェクト間でjsモジュールを配布する際に問題を抱えており、当社でこの疑問が生じたときが来ました。
コードをコピーして貼り付けることは、暗黒面への道なので、jsコードだけでなく、それからnpmパッケージを作成してプロジェクト間で配布することが決定されました。
無料のプライベートnpmリポジトリの検索は行き詰まり、
npmでプライベートリポジトリを使用するには料金がかかります(これは私たちの考え方ではありません)。
オフィスには常に(ほぼ)動作するサーバーがあるため、ローカルnpmを展開することが決定されました。

人気のあるローカルnpmリポジトリのデバイスは非常にシンプルで単調です
。Verdaccioを選択したのは、その更新が比較的最近公開されたためです。
これは主にNode.js> 4にインストールされ、特定のポートへのWebインターフェースを提供するnpmパッケージです。
巨大なプラスは、ローカルnpmが要求されたパッケージを見つけられない場合、npmjs.comに移動し、必要なパッケージをディスクにダウンロードし、このパッケージの要求が繰り返されると、既にキャッシュされたバージョンを配布するキャッシング機能です。
それで、セットアップする。
サーバーとなるマシンで:
npm i -g verdaccio
ファイルC:\ Users \ lab \ AppData \ Roaming \ verdaccio \ config.yamlにはサーバーパラメータがあります
デフォルトのパラメーターは実行可能で、何も変更することはできません。ファイルの最後に設定を追加するだけで、どのVerdaccioがどのポートでリッスンするかを理解します。
listen: 192.168.51.79:1234
192.168.51.79はIPサーバーであり、IPサーバーを介してローカルネットワークからアクセスできるようにアドレスを設定するか、そのDNS名とポート1234を追加してWebインターフェースにアクセスします。
listen:192.168.51.79:80を登録する場合、クライアントを構成するときにポートを書き込む必要はありません。
次に、ローカルnpmを実行します
verdaccio
残りのアクションはクライアントで実行されます。
ローカルリポジトリへのパスを設定します。
npm set registry http:
これで、すべてのnpm要求がローカルサーバーを介してキャッシュされます。
npmパッケージをサーバーに公開する必要がある場合は、以下の手順に従ってください。
ユーザーを作成
npm adduser --registry http:
ログイン
npm login password bezrukov@mir-omsk.ru
ユーザー「ログイン」の下にいることを確認します
npm whoami
パッケージを公開します。rootProjectFolderは少なくとも3つのファイルを含むフォルダーですindex.js \ package.json \ README.md、
例はgithubに投稿されています。
cd /rootProjectFolder npm publish
パッケージを更新します。 package.jsonのバージョンを更新し、コマンドを実行します
cd /rootProjectFolder npm publish
ローカルサーバー上のパッケージ、
192.168.51.79 :1234に移動して、新しいパッケージがあることを確認できます。
ところで、各パッケージに関する情報は便利な形式で表示され、ローカルパッケージの検索があります。

PS:ネットワークにプロキシがある場合、サーバー上でパラメータを明示的に指定する必要がありますが、npmリポジトリはローカルであり、クライアントにアクセスするためのプロキシサーバーは必要ないため、クライアントでこれを行う必要はありません。
サーバーで、
npm config editコマンドを実行し、次の行を追加します
proxy=http:
PPS Windows上で実行する場合は、サーバーでpowershellを使用することをお勧めします。cmdnpmでは1日後にフリーズする場合があります。
これがどのように機能するかについてのコメントとフィードバックを歓迎します。