LoginSignup
3
1

More than 3 years have passed since last update.

ローカルにnpmレジストリを立てる

Posted at

概要

みなさんは個人開発をする時、自分で作った共通で使えそうな便利なライブラリをどのように管理していますか?
簡単なコードなどでは公開せずに自分用のライブラリとして使いたいor使った方がいいような場合もあるかと思います。

今回はそう言った時に、自分のPCにnpmのレジストリを立て、そこに作ったライブラリをpublishする簡単な方法を紹介します。

(npmでのインストール手順もありますが、今回はdockerでの手順です。)

登場人物

verdaccio

verdaccioはprivate npm registryです。自分だけで使えるnpmのregistryです。

docker

dockerは簡単にいうと仮想マシンの1つです。nginxやmysqlがインストールされた仮想環境が、簡単に起動できて簡単に削除できるようなものです。docker hubにはいろんな環境が転がっています。

今回はverdaccio/verdaccioを使って自分のPCにprivate npm registryを立て、自分のパッケージをそこにpublish/unpublishする方法を紹介します。

(dockerのインストール)

dockerのインストール はここを参考にしてください。

僕の $ docker --versionDocker version 18.09.2, build 6247962 になりました。

verdaccioの起動

$ docker pull verdaccio/verdaccio → verdaccioの最新のイメージをダウンロードします。
$ docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio → verdaccioをdockerで起動します。

Ctrl + Cでプロセスを終了できます。コンテナは --rm オプションによって自動的に削除されるのでdockerを汚しません。

publishするパッケージの準備

簡単にverdaccioにpublishできることを確認するために、 console.log('this is my package') だけするパッケージを用意してpublishしてみましょう。

$ mkdir verdaccio-sandbox && cd verdaccio-sandbox && npm init -y && echo "console.log('this is my package')" > index.js などして、検証に使うnpmパッケージを作成します。

registryの指定

$ echo registry=http://localhost:4873 > .npmrc

.npmrc があるディレクトリで npm コマンドを使った場合、このファイルに書かれた設定を読み込んでくれるので、今後このディレクトリでは --registry=http://localhost:4873 が省略できます。上のコマンドを使わない場合は、適宜このオプションを付け加えてください。

verdaccioで使うユーザー作成

$ npm adduser で、先ほど起動したverdaccioのユーザーを作成します。ユーザー名、パスワード、メールアドレスなどを聞かれるので適宜入力してください。自分だけで使うのであれば適当で構いません。

パッケージの公開

$ npm publish で、先ほど起動したverdaccioに今回のパッケージを公開します。

パッケージの削除

$ npm unpublish

ログアウト

$ npm logout

確認

別のパッケージから上記手順で publish したパッケージをインストールするには、 .npmrc--registry を忘れないようにしてください。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1