💭

Windowsでnpm scriptに引数を渡す時の注意点[備忘録]

2023/01/15に公開1

背景

npm scriptにカスタムコマンドを登録してZennの記事作成を開始する時のコマンドを自動化しようとしていました。
初心者なので各種サイトを見ながら記述していくわけですが、例えば以下のように記述してもうまく動作しない。

package.json
{
  ...
  "scripts": {
    "new:article": "npx zenn new:article --slug $npm_config_slug"
  }
  ...
}

https://zenn.dev/lovablepleiad/articles/zenn_good-slug-23y01m12d

ここで2日程詰まっていた。

結論

Windowsの場合は以下のように記述しないと環境変数を参照しない。

https://akabeko.me/blog/2016/05/use-variable-in-npm-scripts-problem/

x $npm_config_slug
o %npm_config_slug%

よって元のコードは以下のように記述する必要がある。

package.json
"new:article": "npx zenn new:article --slug %npm_config_slug%"

たぶん常識なことなのでこのミスは恥ずかしいですが、他の初心者の方のお役に立つことを祈って。

Discussion