問題の説明
OpenClaw またはその依存するチャンネルアダプターをインストールする際に、sharp モジュールのコンパイルエラーが発生することがあります。sharpは高性能な画像処理ライブラリで、OpenClawはチャット内の画像メッセージの処理に使用しています。よくあるエラー出力は以下のようなものです。
npm ERR! ../src/common.cc:25:10: fatal error: vips/vips8: No such file or directory
npm ERR! #include <vips/vips8>
Windows上では以下のような表示の場合もあります。
gyp ERR! find VS
gyp ERR! find VS msvs_version not set from command line or npm config
またはプリコンパイルバイナリのダウンロード失敗:
npm ERR! sharp: Installation error: connect ETIMEDOUT
npm ERR! sharp: Prebuilt libvips 8.15.2 binaries are not yet available for linux-arm64v8
診断手順
まずシステムアーキテクチャとOSバージョンを確認します。
node -e "console.log(process.platform, process.arch)"
sharpがお使いのシステム向けのプリコンパイルバイナリを提供しているか確認してください。sharpは主要なプラットフォーム(linux-x64、darwin-arm64、win32-x64)向けにプリコンパイルパッケージを提供していますが、一部のマイナーなアーキテクチャではソースからのコンパイルが必要な場合があります。
解決方法
方法1:SHARP_IGNORE_GLOBAL_LIBVIPSを設定する(推奨)
最も素早い解決方法は、sharpにシステムグローバルにインストールされたlibvipsを無視させ、付属のプリコンパイルバージョンを強制的に使用させることです。
SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install -g openclaw
Windows上(PowerShell):
$env:SHARP_IGNORE_GLOBAL_LIBVIPS="1"
npm install -g openclaw
Windows上(CMD):
set SHARP_IGNORE_GLOBAL_LIBVIPS=1
npm install -g openclaw
方法2:システム依存関係を手動インストールする
プリコンパイルパッケージが利用できない場合(ARM デバイスや特殊なLinuxディストリビューションなど)、コンパイル依存関係のインストールが必要です。
Ubuntu / Debian:
sudo apt-get update
sudo apt-get install -y build-essential libvips-dev
CentOS / RHEL / Fedora:
sudo dnf install gcc-c++ make vips-devel
macOS:
brew install vips
方法3:Dockerを使用してコンパイル問題を回避する
ローカル環境でのコンパイル問題が解決困難な場合、Docker を使用して OpenClaw をデプロイすることを検討できます。公式イメージにはすべての依存関係がプリインストールされています。
docker pull openclaw/openclaw:latest
docker run -v ~/.openclaw:/root/.openclaw openclaw/openclaw:latest
方法4:sharpをスキップする(代替案)
使用シナリオに画像処理が含まれない場合、OpenClawの画像処理機能を無効に設定できます。~/.openclaw/openclaw.json に以下を追加します。
{
"imageProcessing": {
"enabled": false
}
}
その後、--ignore-scripts オプションでインストールします(すべてのpostinstallスクリプトがスキップされることに注意)。
npm install -g openclaw --ignore-scripts
この方法ではOpenClawは引き続き動作しますが、画像メッセージの送受信機能は利用できません。
ネットワークプロキシによるダウンロード失敗
エラーメッセージがプリコンパイルパッケージのダウンロードタイムアウトを示している場合、ネットワークの問題かもしれません。npmミラーまたはプロキシを設定してください。
npm config set sharp_binary_host "https://npmmirror.com/mirrors/sharp"
npm config set sharp_libvips_binary_host "https://npmmirror.com/mirrors/sharp-libvips"
npm install -g openclaw
修正の確認
インストール成功後、sharpモジュールが正常にロードされることを確認します。
node -e "const sharp = require('sharp'); console.log('sharp version:', sharp.versions)"
openclaw doctor
openclaw doctor が画像処理に関する警告を報告しなければ、sharpは正しくインストールされています。