Changesetsの公開処理をpublishスクリプトで行うと失敗してしまう

2 min read

こちら (opens in a new tab)の自作パッケージのバージョニングのためにChangesets (opens in a new tab)を使っているのですが、npmに公開するためのGitHub Actionsワークフローが失敗する問題がありました。

公開処理のログを見てみると以下のようなメッセージが記載されており、なぜかすでにnpmに公開されているようです。

You cannot publish over the previously published versions: x.y.z.

また、ワークフローは失敗しているのに、確かにnpmを見ると新しいバージョンが公開されていました。

これらの状況から、公開処理が2回実行されており、2回目の実行でエラーが出ているのではないかと思いました。ChangesetsのIssueを調べてみると、こちらのIssue (opens in a new tab)が関係してそうです。これによると、publishスクリプトで公開するように設定していると2回実行されてしまうようです。

"scripts": {
  "publish": "changeset publish",
},

以下のように、publish以外のスクリプト名に変更すると、ワークフローが失敗することなく公開できるようになります。

"scripts": {
  "release": "changeset publish",
},
© 2024 neoki. Built using Nextra, hosted on Vercel.