O hirunewani blog

actions/setup-nodeでnode-version-fileの利用を勧める不純な理由

Created at

actions/setup-nodeではnode-version-fileを利用することで、利用されるNode.jsのバージョンをpackage.jsonなどに合わせることが出来る。これだけで便利だが、他にもお勧めできる不純な理由がある。

actions/setup-nodeでNode.jsのバージョンを指定する

node-versionまたはnode-version-fileを利用することで、利用されるNode.jsのバージョンを指定することが出来る。

node-versionを利用する

- uses: actions/setup-node@v4
   with:
      node-version: "20.x"

node-version-fileを利用する

package.json.nvmrc.node-versionなどのファイルを元にバージョンを決定させる。

- uses: actions/setup-node@v4
   with:
      node-version-file: "package.json"

node-version-fileを利用する一般的なメリット

node-version-fileを利用することで、Node.jsのバージョンを一元管理することが出来る。 これによって環境毎にNode.jsのバージョンがずれてしまうようなことがなくなる。

node-version-fileを利用する不純な理由

node-versionを利用した場合、PullRequestのStatusに表示されるラベルが次のような形式になる。

build (18.x) (push)

これは、Node.jsのバージョンを変更すると表記が変わる。

build (20.x) (push)

つまり、これをブランチプロテクションで必須にしている場合、Node.jsバージョンを変更する度に変更が必要になる。

一方、node-version-fileの場合、次のようになるため変更する必要がなくなる。

build  (push)