Vibiumインストールエラーと解決策【Mac M1・Claude Code連携・headless起動の罠】

スポンサーリンク

こんにちは、Heywaです。

最近、Seleniumの共同開発者がリリースしたAIエージェント向けブラウザ自動化ツール「Vibium」が話題ですね。私もClaude Codeと組み合わせて使っていますが、新しいツールゆえに環境構築や初期設定でつまずくことも少なくありません。

今回は、Vibiumのインストールから初期起動(特にMac M1環境やClaude Code連携)で発生しやすいエラーとその解決策を、トラブルシューティングとしてまとめました。

スポンサーリンク

Vibium インストール エラーの代表例と解決策

Vibiumは npm install vibium だけでChrome for Testingも自動ダウンロードされる「ゼロセットアップ」が売りですが、環境によってはエラーが出ます。

1. Mac M1環境でのバイナリ実行エラー

【症状】
Mac M1(Apple Silicon)環境でインストール後、Vibiumを実行しようとすると Bad CPU type in executablekilled: 9 といったエラーで落ちる。

【原因と対策】
VibiumのGoバイナリがARM64アーキテクチャとして正しく認識されていない、またはmacOSのセキュリティ機能(Gatekeeper)にブロックされている可能性があります。
以下のコマンドでセキュリティブロックを解除(Quarantine属性を削除)することで解決します。

xattr -d com.apple.quarantine $(which vibium)

2. Claude Code連携時のMCPサーバー接続エラー

【症状】
claude mcp add vibium -- npx -y vibium を実行しても、Claude Code側で「Vibium MCP server not found」や「Connection refused」というエラーが出る。

【原因と対策】
Node.jsのバージョンが古い、または npx のキャッシュが壊れていることが原因です。Vibiumは最新のNode.js環境を推奨しています。
Node.jsをv20以上にアップデートした上で、以下のコマンドでキャッシュをクリアして再試行してください。

npx clear-npx-cache
claude mcp add vibium -- npx -y vibium

Vibium headless 起動とゾンビプロセスの問題

サーバー環境やバックグラウンドでVibiumを動かす際によくあるトラブルです。

Vibium headless 起動時のクラッシュ

【症状】
ヘッドレスモード(画面なし)で起動しようとすると、ブラウザが立ち上がらずにタイムアウトする。

【対策】
Vibium(WebDriver BiDi)は、Seleniumとは少し異なる起動オプションを要求する場合があります。Linux環境などでヘッドレス起動する場合は、以下のオプションを明示的に渡す必要があります。

import { browser } from "vibium";

const bro = browser.launch({
  headless: true,
  args: ["--no-sandbox", "--disable-dev-shm-usage"]
});

Vibium zombie process(ゾンビプロセス)の発生

【症状】
スクリプトがエラーで異常終了した後、メモリ上にChromeのプロセスが残り続け(ゾンビプロセス)、次回起動時にポート競合などのエラー(Address already in use)が起きる。

【対策】
これはSelenium時代からおなじみの問題ですが、Vibiumでも発生します。スクリプト側で必ず try...finally ブロックを使ってブラウザを閉じる処理を実装してください。

let bro;
try {
  bro = browser.launch();
  // 処理...
} finally {
  if (bro) bro.close();
}

もしゾンビプロセスが残ってしまった場合は、ターミナルから pkill -f "chrome"(Mac/Linux)で強制終了させましょう。

まとめ:Vibium vs Selenium の移行判断

Vibiumは「AIエージェントとの連携」においてはSeleniumを凌駕する手軽さを持っていますが、まだV1ということもあり、今回紹介したような環境依存のエラーやトラブルシューティングが必要です。

「Vibium vs Selenium」で迷っている方は、「探索的テストやClaude Codeを使った即席の自動化ならVibium」「CI/CDで毎日安定稼働させるならSelenium(またはPlaywright)」という使い分けをおすすめします。

次回は、Vibiumの「要素取得エラー」や「Auto-wait timeout」など、スクリプト実行中のトラブルシューティングについて解説します。

タイトルとURLをコピーしました