npmモジュール公開を挑戦したら大失敗で取り返しのつかない事になってしまったのでシェアします。
皆さんに一言で要点を伝えると、モジュールの管理画面のMaintainers一覧から自分を消してはいけない。
あった事
アカウントを作ってテスト用に作りかけのモジュールを公開して、挙動が分かったから一度消して上げなおそうと思ったら自分の管理下から外れてどうしようもなくなってしまった。
自分のアカウントで検索すると以下の3つのモジュールが出てくるのだが、これが消せない。
以下の画像は説明用に作ったり、(正規の手段で)消したりしたのでモジュール名が変わる事があるので注意。
本来、自分の管理下のモジュールでは以下の様にタブバーにAdminの項目がある。
しかし、間違った手順を行って消すことが出来なくなってしまったモジュールではこの様にAdminの項目が無い。
何が間違いだったのか
以下のような管理画面で、Maintainersから自分を消してしまった事が間違い。これは絶対してはいけない。
自分を消すと、管理できる人が誰も居なくなる。ので消せなくなる。管理人が居ないから、再度自分を追加する事も出来ない。
コマンドnpm owner
で管理人登録をしても駄目。npmコマンド上では自分が管理人になっているが、web上の管理画面では管理人はゼロのままだし、正規の手段で削除する事も、アップロードする事も出来ない。
どうすればよいのか
テスト用モジュールを消す時はnpm unpublish モジュール名 --force
コマンドを使う。この方法で消すと、モジュールページが無事消された。
正規の手段で削除する方法であって、Maintainers一覧から自分を消してどうしようもなくなった状態を復旧させる方法ではない。復旧方法ご存知の方教えて。
検索結果はすぐに反映される訳では無いらしい。まだ検索結果に出てくる。リンク先は404になっているので、1日置けば検索結果からも消えると信じたい。
おまけ
正規の手段でモジュールを消しても同じ名前で再アップロードする事は出来ないので注意。裏では削除済みのモジュール名も全部残してる。
このおかげで、既存のモジュールのモジュール名を変更しました。