柴ブログ

プログラミング奮闘記

初めてnpmを公開した話

はじめに

現在僕はフィヨルドブートキャンプというところでプログラミングを勉強中なのですが、JavaScriptのカリキュラムの一環で、自作のnpmを公開するというものがあり、初めての公開だったのでその備忘録。

作ったnpm

「郵便番号を入力するとその住所が表示される」というごく簡単なCLIのnpmを作りました。

http://g.recordit.co/wirzK3xsGO.gif

www.npmjs.com

npmを公開するまで

package.jsonの書き方

今回初めてnpmを公開するにあたり、package.jsonの書き方を再確認しました。

package.jsonに記載の情報は、npm公開時に読み取られてリンクや名前やキーワードなどをnpmページに記載してくれます。

書き方で少しハマったののが、「コマンドライン 上でnpm名を入力するだけで実行できるようにすること」でした。

これはpackage.jsonbinプロパティを追記することで可能になります。今回の例だと以下を追記し、npm実行のメインとなるコードが書かれているファイル名を指定します。 元々あるmainプロパティは不要になるので削除しておきます。

"bin": {
  "zipcode-area-jp": "./main.js"
},

これを自身のターミナル上でも有効にする場合は、 npm linkコマンドを実行します。 すると、今回の例で言えばzipcode-area-jpとたたいてプログラムが実行できるようになります。

npmを公開

まずはサインアップ。

www.npmjs.com

コマンドライン 上で以下のコマンドを叩き、ログイン。

$ npm adduser
# もしくは以下
$ npm login

あとは以下のコマンドを叩くとnpmを公開できます。公開自体は簡単なので公開前に何か間違い等ないか要確認。

$ npm publish

公開できたら忘れずログアウト。

$ npm logout

npmを非公開にする

npmは公開してから24時間以内であればマイページから非公開に(削除)することができます。 ですが、一度公開して削除したnpmと同じ名前のnpmを再度公開するには24時間待たなければなりません。

はい、そのミスをしでかしました。

一度npmを公開してから小さなミスに気付きすぐ削除し、修正して再度公開しようとしたらできない...。

これは...24時間後...だと...?

知人からの助言で名前を変えてすぐに再度公開できましたが、公開前によく確認しなかったのは反省点です...。

感想

簡単なnpmではありますが、初めて公開してみて学びもあったのでとても良い取り組みになったと思います。

公開したnpmを実際にインストールしてみて、動いた時はちょっと感動しました。ソフトウェアをリリースした時の感動ってこういう感じなのかなあ、としみじみ。

いずれは人に役立つnpmやその他ツールを開発して公開できたらいいなーと思います。

参考ページ