練馬エンジニアメモ

日々のメモ代わりとして

verdaccio(npmプライベートリポジトリサーバー)導入メモ

npmのプライベートリポジトリサーバーを構築出来るみたい。
構築先のドメインをhogehoge.jpとして構築する際のメモ。

インストール

npm install -g verdaccio

起動

verdaccio

なんか表示されて起動する。

 warn --- config file  - /root/.config/verdaccio/config.yaml
 warn --- Plugin successfully loaded: htpasswd
 warn --- Plugin successfully loaded: audit
 warn --- http address - http://localhost:4873/ - verdaccio/3.11.6

クライアント側からユーザー登録を行う

npm adduser --registry http://hogehoge.jp:4873/

ここでなんかエラーが吐かれる

npm ERR! code ECONNREFUSED
npm ERR! errno ECONNREFUSED
npm ERR! FetchError: request to http://hogehoge.jp:4873/-/v1/login failed, reason: connect ECONNREFUSED 192.168.0.13:4873
npm ERR!     at ClientRequest.req.on.err (C:\Users\hoge\scoop\persist\nvm\nodejs\v11.9.0\node_modules\npm\node_modules\node-fetch-npm\src\index.js:68:14)
npm ERR!     at ClientRequest.emit (events.js:197:13)
npm ERR!     at Socket.socketErrorListener (_http_client.js:399:9)
npm ERR!     at Socket.emit (events.js:197:13)
npm ERR!     at emitErrorNT (internal/streams/destroy.js:82:8)
npm ERR!     at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
npm ERR!     at processTicksAndRejections (internal/process/next_tick.js:76:17)
npm ERR!  { FetchError: request to http://hogehoge.jp:4873/-/v1/login failed, reason: connect ECONNREFUSED 192.168.0.100:4873
以下略

原因としてはverdaccioを以下のようにして起動する必要がある。

verdaccio -l hogehoge.jp:4873

もう一度ユーザー登録を試みると、ユーザー名とパスワードとEmailを聞かれて無事登録が出来る。 ブラウザも立ち上がったりする。

Username: hogeuser
Password:
Email: (this IS public) hoge@hogehoge.jp

リポジトリを登録する。

npm set registry http://hogehoge.jp:4873/

ちなみに登録リポジトリの内容等はユーザーディレクトリ以下の.npmrcに記述されているので、変更したい場合はこちらをいじると良さげ。

これでnpm installやらyarn addやらがプライベートリポジトリ経由で出来るようになる。

npm publish --registry http://hogehoge.jp:4873