[npm] 公開・更新コマンドの覚え書き

3 min read

準備

ユーザーの作成

npmのサイトからSign upする(npm loginで登録されてないユーザーであれば登録できるらしい)。

登録したユーザーでログインする

npm login

npm loginを実行して、登録したユーザーでログインする。

# 実行例
npm login

Username: <npmユーザ名>
Password: <npmパスワード>
Email: (this IS public) <npmメールアドレス>
Logged in as <npmユーザ名> on https://registry.npmjs.org/.

package.json の作成

npm initで package.json を作成する。

すでに存在している場合でも正しい形に直してくれるので、対話式で進めていく。

通常

npm init

スコープモジュール

名前空間を持ったモジュールを公開したいときは下記のような引数を追加して実行する。

npm init --scope=<npmユーザ名>

上記の例だと@<npmユーザ名>/プロジェクト名という形で作成できる。

npm init後に package.json に下記の項目を追加しておく。

"publishConfig": {
    "access": "public"
}

スコープモジュールとして公開する際にnpm publish --access=publicとする必要があるが、この記述があればその指定が不要になる。

docs.npmjs.comAbout scopes | npm DocsDocumentation for the npm registry, website, and command-line interface


npm でのプロジェクト名は早いもの勝ちで、シンプルなものだと被ってしまいがちだが、そんなプロジェクト名でも名前空間のおかげで被ることなく設定できる。

license のデフォルトを MIT に変更する

デフォルトでは license が ISC になっているのを MIT にしておきたい。

npm config set init.license MIT

npm 公開用のコマンド

npm publish

npm publish

これを実行すると npm にモジュールが公開される。

npm version

それぞれのコマンドを実行すると、package.json の version に応じて上げてくれ、そのバージョン名での tag が作られる。

npm version patch
v1.0.1

npm version minor
v1.1.0

npm version major
v2.0.0

プロジェクトによって流れは違うだろうが、こういった流れで管理と公開をするケースもある。

# version up
npm version patch
v1.0.1

# master に push
git push origin master

# tagにpush
git push origin v1.0.1

# push終わったらnpmにpublish
npm publish

その他

他にもあるらしいが、自分は使ったことがないため割愛。

  • premajor
  • preminor
  • prepatch
  • prerelease
  • from-git