Vercel CLIのインストールから、Node.jsが切り離されようとしています。
この記事でわかること:
- 現在のVercel CLIがNode.jsを必要とする理由
- スタンドアロンバイナリの仕組みと対応プラットフォーム
- CI/CDやDocker環境での活用メリット
現在のVercel CLIはNode.js必須
現在、Vercel CLIをインストールするにはNode.js 18以上が必要です。インストール方法はnpm・pnpm・yarnのいずれかを使います。
npm install -g vercel
# または
pnpm add -g vercel
CLIがNode.jsアプリケーションとして配布されているため、Vercelにデプロイしたいだけの用途でもNode.jsを別途用意しなければなりません。特にCI/CDパイプラインやDockerコンテナでは余分なセットアップが発生します。
開発中のスタンドアロンバイナリ版
https://github.com/vercel/vercel/pull/16085
2026年4月22日、GitHubのVercelリポジトリにPR #16085「Adding a new release for Bun compiled binary」が作成されました。
このPRは、Vercel CLIをNode.jsなしで動作するスタンドアロンバイナリとして配布する仕組みを追加します。
ビルドは2段階で構成されています。まずesbuildがCLI全体を単一のJSバンドルに圧縮し、次にBunのコンパイラがそのバンドルをプラットフォーム向けのネイティブバイナリに変換します。Bunのネイティブ機能には依存しない設計になっており、事前にesbuildでバンドルすることで実行時の依存を排除しています。
リリース時に対応するプラットフォームは以下の予定です。
- macOS(Apple Silicon: darwin-arm64)
- macOS(Intel: darwin-x64)
- Linux(x64)
- Linux(arm64)
バイナリはGitHub Releasesに自動添付される形で公開されます。ダウンロード後に実行権限を付与するだけで動く状態になります。
CI/CDとDockerで恩恵が大きい
スタンドアロンバイナリが最も効果を発揮するのは、Node.jsを使わないプロジェクトやインフラ環境です。
現在のDockerfileでは、Vercelにデプロイするためだけにベースのイメージを選ぶか、別途Node.jsインストールのステップを追加する必要がありました。バイナリ版が公開されれば、任意のベースイメージにバイナリ1本を配置するだけで済みます。
GitHub ActionsなどのCI環境でも同様です。Node.jsのセットアップアクションが不要になり、ワークフローのステップを削減できます。
内部実装で修正が必要だった箇所
バイナリ化にあたって、CLIの内部処理にいくつかの修正が加わっています。
アップデート通知とテレメトリは、通常の動作ではを使って子プロセスを再起動する仕組みでした。バイナリではがNode.jsインタープリタではなくバイナリ自体を指すため、この挙動をバイナリ環境下でショートサーキットするよう変更されています。
子プロセスのforkについても、バイナリ内部では環境変数を注入するshimを経由させることで、サイドカープロセスが正しく動作するよう調整されています。
現在はPR審査中、リリース時期は未定
PR #16085は2026年4月27日時点でオープン状態です。マージ後、タグがプッシュされると自動でバイナリがビルド・リリースされる仕組みになっています。
現在のVercel CLIは最新バージョン52.0.0で、npm経由のインストールは引き続き利用できます。バイナリ版は新しい選択肢として追加されるため、既存の使い方への影響はありません。
公式リリースはGitHub Releasesで確認できます。