問題
npm publish
をする際、認証を通すために npm adduser
すると思います。
普通にシェル上でそれぞれのコマンドを叩くなら特に問題ありませんが、例えば package.json の scripts で npm publish
コマンドを使っていたり、何らかのシェルスクリプトで実行する場合、親プロセス上で npm adduser
をしていても認証が通りません。
npm adduser
も同じプロセス上で実行すれば良いんですが、そうすると今度は毎回実行の度にログインあるいはワンタイムパスワードの入力を1回か2回実行する必要があり非常に面倒です。
対応
.npmrc という npm の挙動を制御する仕組みがあり、ここにアクセストークンを記載することができます。
そのレポジトリに .npmrc を用意し、アクセストークンを記載しておくと子プロセス上でも認証が通るようになります。
.npmrc
//registry.npmjs.org/:_authToken=YOUR_ACCESS_TOKEN
これだけです。
アクセストークンは npmjs.com のアカウントメニューの Access Tokens のページで作成できます。