自作npmパッケージを作成したので、公開/バージョンアップ/削除の方法をまとめておきます。
ちなみに作成したものは以下です。
npmパッケージの公開方法
1. プロジェクトのセットアップ
- プロジェクトフォルダの作成
package.json
に必要な情報(名前、バージョン、説明等)を設定する。- 公開するnpmパッケージには
package.json
が含まれている必要がある。
プロジェクトのルートディレクトリでnpm init
コマンドを実行し、プロンプトに表示された各項目の質問に答えるとpackage.json
が作成される。
【参考】
Creating a package.json file
- 公開するnpmパッケージには
package.json
にbin
項目を追加し、公開したパッケージをnpx 自作パッケージ名
で使用できる。
"bin": { "自作パッケージ名": "./index.js" },
2. 依存パッケージの追加
依存パッケージを
package.json
の以下に追加する。"dependencies"
:必要な外部ライブラリやパッケージなど、アプリケーションの実行に必要なものを定義。"devDependencies"
:外部ライブラリやパッケージなど、ローカルでの開発のみに必要なものを定義。
必要な依存パッケージを追加するため、
プロジェクトのルートディレクトリでnpm install
を実行。
# "dependencies"に追加 $ npm install <パッケージ名> # "devDependencies"に追加 $ npm install <パッケージ名> --save-dev
【参考】
Specifying dependencies and devDependencies in a package.json file
3. ローカルでのリンク作成(オプション)
- プロジェクトのディレクトリで
npm link
を実行。
他のローカルプロジェクトでこのパッケージを利用できるようになる。
4. アカウント作成とログイン
5. 公開
npm publish
を実行し、エラーがなければ、npmリポジトリにパッケージが公開される。
npmパッケージのバージョンアップ方法
1. バージョン更新
- 公開されているパッケージに変更を加えた場合、自分のコードに依存している他の人に変更を伝えるために、バージョン番号を更新する必要がある。
# メジャーバージョンアップ: 大きな変更があって、前のバージョンと互換性がなくなる場合。新しい主要機能の追加など。 $ npm version major v2.0.0 # マイナーバージョンアップ: 以前のバージョンとの互換性を保ちつつ、新しい機能を追加する場合。中程度の改善や機能追加など。 $ npm version minor v1.1.0 # パッチバージョンアップ: 小さなバグ修正や、既存の機能の軽微な改善を行う場合。 $ npm version patch v1.0.1
2. 変更のコミット
npm-version
は更新したバージョン番号のコミットとtagも同時に生成。 リモートレポジトリに最新のコミットとタグを反映。
3. 再公開
ターミナルでnpm publish
コマンドを再度実行。
新しいバージョンがnpmリポジトリに公開される。
【参考】
Updating your published package version number
npm-version
2.6 Git の基本 - タグ
npmパッケージの削除方法
1. 最近公開されたバージョンの削除
- 特定バージョンを削除する場合、ターミナルで以下のコマンドを使用。
$ npm unpublish <パッケージ名>@<バージョン番号>
2. 全バージョンの削除
$ npm unpublish <パッケージ名> -f
注意点:
- 一度削除すると、同じバージョン番号での再公開はできない。
- 72時間の制限は、誤ったバージョンを削除できるようにするためのもの。単一バージョンの削除はこの期間に限定される。
- 完全削除後、同じ名前で再公開する場合は24時間待つ必要がある。
【参考】
Unpublishing packages from the registry
npm Unpublish Policy
npm-unpublish