ホーム チュートリアル カテゴリ Skills サイトについて
ZH EN JA KO
トラブルシューティング

OpenClawインストール時のsharpモジュールコンパイル失敗の解決方法

· 6 分で読了

問題の説明

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は正しくインストールされています。

OpenClawは無料のオープンソースAIアシスタント。WhatsApp、Telegram、Discordなど多数のプラットフォームに対応