OpenHumanは「ローカルファースト・長期記憶付きパーソナルAIエージェント」として2026年初頭に急速に注目を集めましたが、プロジェクトはまだEarly Beta段階です。Rust + TypeScriptのデュアルスタックビルド、システムレベルの依存関係、各プラットフォームの権限モデルの違いにより、最初のステップでつまずく方が多くいます。本ガイドでは4大プラットフォームでよく発生するエラーシナリオを体系的にまとめ、各エラーに対してコピペで実行できる修正コマンドを提供します。
目次
- Mac(Apple Silicon / Intel):Gatekeeperブロック、Rustツールチェーン未インストール、Xcode CLTバージョン競合
- Windows:パスにスペースや非ASCII文字、WSL2カーネル古すぎ、MSVCとGNUツールチェーン混用
- Docker:イメージプルタイムアウト、arm64/amd64アーキテクチャ不一致、ボリューム権限エラー
- Node.js:バージョン不一致、ネイティブモジュールのリビルド失敗、pnpm/npm依存関係の競合
1. Macのトラブルシューティング(Apple Silicon & Intel)
1.1 エラー:“openhuman” cannot be opened because the developer cannot be verified
macOS Gatekeeperが公証(Notarized)されていないバイナリをブロックしています。Apple Silicon Macで特によく発生します。
修正方法A(推奨 — このファイルのみ許可):
# ターミナルで隔離属性を一括削除し、以降はダブルクリックで正常に開けます
xattr -dr com.apple.quarantine /Applications/OpenHuman.app
修正方法B(システム設定から許可):「システム設定 → プライバシーとセキュリティ」を開き、ブロックされたアプリを見つけ「このまま開く」をクリック。
1.2 エラー:error: linker `cc` not found
RustコンパイラがCリンカを見つけられません。Xcode Command Line Toolsが未インストールまたは古い場合に発生します。
# Xcode CLT をインストール(約 2 GB、初回はネットワーク必要)
xcode-select --install
# インストール済みでもエラーが出る場合はパスをリセット
sudo xcode-select --reset
# バージョン確認
xcode-select -p
# 出力は /Library/Developer/CommandLineTools または /Applications/Xcode.app/... のはず
1.3 エラー:rustup: command not foundまたはRustバージョンが古い
OpenHumanのRustコアは通常stable ≥ 1.78を要求します。
# rustup をインストール(インストール済みの場合はスキップ)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# シェル環境を再読み込み
source "$HOME/.cargo/env"
# 最新の stable に更新
rustup update stable
# リポジトリが要求するバージョンに切り替え(rust-toolchain.toml があれば自動適用)
rustup show
1.4 エラー:Apple Silicon上でarchitecture arm64 is not compatible
一部のnpmネイティブアドオンやシステムライブラリがarm64ビルドを提供していないか、RosettaとネイティブのHomebrewが同時にインストールされている場合に発生します。
# 現在のシェルアーキテクチャを確認
uname -m # arm64 と表示されるはず(M シリーズチップのネイティブシェル)
# Homebrew のパスを確認(arm64 ネイティブは /opt/homebrew のはず)
which brew
# brew が /usr/local(Rosetta)を指している場合、arm64 シェルに切り替えてから依存関係をインストール
arch -arm64 /bin/zsh
arch -arm64 brew install openssl pkg-config
1.5 エラー:error: failed to run custom build command for `ring`
ringクレートはClang/LLVMを必要とし、Mac上ではOpenSSLのパスを明示する必要があります。
# Homebrew で OpenSSL 3 をインストール
brew install openssl@3
# ビルド環境変数を一時的に設定(~/.zshrc に追記しても可)
export OPENSSL_DIR="$(brew --prefix openssl@3)"
export OPENSSL_NO_VENDOR=1
# 再度ビルド
cargo build --release
2. Windowsのトラブルシューティング
2.1 エラー:パスにスペースや非ASCII文字が含まれているためビルド失敗
CargoとNPMのネイティブモジュールは、パスのスペースや非ASCII文字への耐性が低いです。
:: スペースなしの純 ASCII パスにリポジトリをクローン(例)
git clone https://github.com/tinyhumansai/openhuman C:\dev\openhuman
:: Cargo キャッシュディレクトリも安全なパスへ移動(PowerShell で実行)
[System.Environment]::SetEnvironmentVariable("CARGO_HOME","C:\dev\.cargo","User")
[System.Environment]::SetEnvironmentVariable("RUSTUP_HOME","C:\dev\.rustup","User")
2.2 エラー:LINK : fatal error LNK1181
MSVCツールチェーンが未インストールまたは正しく設定されていません。
:: 1. Visual Studio 2022 Build Tools(または完全版 VS 2022)をインストール
:: 必須コンポーネント:「C++ によるデスクトップ開発」→ MSVC v143 + Windows SDK
:: 2. Rust を MSVC ターゲットに切り替え
rustup default stable-x86_64-pc-windows-msvc
rustup target add x86_64-pc-windows-msvc
:: 3. リンカーが見つかることを確認
where link
:: 出力例:C:\Program Files (x86)\Microsoft Visual Studio\...\link.exe
2.3 エラー:WSL2カーネルが古すぎる
WSL2でOpenHumanを実行する場合、カーネルは≥ 5.15が必要です。
:: PowerShell(管理者)で WSL カーネルを更新
wsl --update
:: バージョン確認
wsl --version
:: 対象ディストリビューションを WSL2 モードに設定
wsl --set-version Ubuntu-22.04 2
2.4 エラー:'python' is not recognized
一部のnpmネイティブモジュールのビルドスクリプトがpythonコマンドに依存しています。
:: 方法 A:python-is-python3 をインストール(WSL2 Ubuntu)
sudo apt install python-is-python3
:: 方法 B:Windows ネイティブ — npm グローバル設定で python3 を指定
npm config set python python3
:: 方法 C:windows-build-tools をインストール(廃止済み、VS Build Tools を推奨)
:: 非推奨、参考のみ
2.5 エラー:error MSB8036: The Windows SDK version X was not found
:: Visual Studio Installer を開く → 変更 → 個別のコンポーネント
:: 対応する Windows SDK(10.0.22621 以降推奨)にチェックを入れてインストール
:: インストール後、ターミナルを再起動してからビルド
3. Dockerのトラブルシューティング
3.1 エラー:pull access deniedまたはプルタイムアウト
GitHub Container RegistryやDocker Hubへのアクセスが一部地域で制限されています。
# 方法 A:レジストリミラーを設定(Docker Desktop → Settings → Docker Engine で編集)
# 以下の JSON フィールドを追加:
# "registry-mirrors": ["https://mirror.gcr.io","https://docker.mirrors.ustc.edu.cn"]
# 方法 B:ネットワークにアクセスできるマシンでイメージをエクスポートし、対象マシンに転送
docker save ghcr.io/tinyhumansai/openhuman:latest | gzip > openhuman.tar.gz
# 対象マシンでインポート
gunzip -c openhuman.tar.gz | docker load
3.2 エラー:プラットフォーム不一致(linux/amd64 vs linux/arm64)
Apple Silicon MacでオフィシャルのAMD64イメージを使用すると発生します。
# プラットフォームを明示してプル(Rosetta エミュレーションが発生し、パフォーマンスに影響)
docker pull --platform linux/amd64 ghcr.io/tinyhumansai/openhuman:latest
# 公式 arm64 イメージが公開されている場合は、ネイティブイメージを優先
docker pull --platform linux/arm64 ghcr.io/tinyhumansai/openhuman:latest
# 実行時にプラットフォームを指定
docker run --platform linux/arm64 ghcr.io/tinyhumansai/openhuman:latest
3.3 エラー:permission denied — コンテナがボリュームに書き込めない
コンテナプロセスが非rootユーザーで実行されていますが、マウントされたホストディレクトリがrootに所有されています。
# 方法 A:コンテナ内ユーザー(uid 通常 1000)にホストディレクトリの権限を付与
sudo chown -R 1000:1000 ./openhuman-data
# 方法 B:docker run で root として実行(開発環境のみ、本番は非推奨)
docker run --user root ...
# 方法 C:Docker Compose で user を指定
# services:
# openhuman:
# user: "1000:1000"
# volumes:
# - ./openhuman-data:/app/data
3.4 エラー:exec: "sh": executable file not found
イメージがdistrolessやscratchベースを使用しているため、シェルが存在しません。
# フルパスで bash を指定してコンテナに入る(存在する場合)
docker exec -it openhuman /bin/bash
# イメージに shell がない場合は、デバッグ用イメージをビルドして元のデータボリュームをマウント
docker build -f Dockerfile.debug -t openhuman-debug .
docker run -it --volumes-from openhuman openhuman-debug /bin/bash
3.5 Docker Compose:dependency failed to start
OpenHumanが依存するDBやベクターインデックスサービスの起動が遅く、ヘルスチェックが失敗します。
# compose.yml の依存サービスに healthcheck を追加
# services:
# db:
# healthcheck:
# test: ["CMD", "pg_isready", "-U", "openhuman"]
# interval: 5s
# retries: 10
# openhuman:
# depends_on:
# db:
# condition: service_healthy
# 各サービスのログを手動で確認して根本原因を特定
docker compose logs --tail=50 db
docker compose logs --tail=50 openhuman
4. Node.jsのトラブルシューティング
4.1 エラー:The engine "node" is incompatible with this module
OpenHumanのフロントエンドとプラグインレイヤーは通常Node.js ≥ 20 LTSを要求します。
# nvm で指定バージョンに切り替え(LTS 20 または 22 を推奨)
nvm install 20
nvm use 20
node --version # v20.x.x と表示されることを確認
# fnm(より高速なバージョンマネージャー)を使用する場合
fnm install 20
fnm use 20
4.2 エラー:gyp ERR! build error — ネイティブモジュールのビルド失敗
依存関係にはネイティブC++アドオンが含まれており、完全なビルドツールチェーンが必要です。
# macOS:Xcode CLT がインストールされていることを確認
xcode-select --install
# Windows:PowerShell(管理者)で node-gyp をグローバルインストール
npm install -g node-gyp
# Visual Studio Build Tools もインストールされていることを確認(セクション 2.2 参照)
# Linux(Ubuntu/Debian)
sudo apt-get install -y python3 make g++
# すべてのネイティブモジュールを強制再ビルド
npm rebuild
# または pnpm を使用
pnpm rebuild
4.3 エラー:Cannot find module ERR_MODULE_NOT_FOUND
依存関係のインストールが不完全か、node_modulesキャッシュがlockfileと一致していません。
# 完全クリーンアップ後に再インストール
rm -rf node_modules
rm package-lock.json # または pnpm-lock.yaml / yarn.lock
# プロジェクトのパッケージマネージャーで再インストール(pnpm の例)
corepack enable
pnpm install --frozen-lockfile
4.4 エラー:ENOSPC: System limit for number of file watchers reached
Linuxシステムのデフォルトのinotifyウォッチャー上限が不足しています。
# 一時的に増加(再起動で元に戻る)
sudo sysctl fs.inotify.max_user_watches=524288
# 設定を永続化
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
4.5 エラー:EACCES: permission denied, mkdir '.../.npm'
npmグローバルディレクトリの権限問題。
# npm グローバルディレクトリをユーザーが書き込み可能なパスに変更
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
# 上記の export を ~/.zshrc または ~/.bashrc に追記して永続化
5. 共通トラブルシューティングチェックリスト
どのプラットフォームでも、詰まったときはまずこの順序で確認してください:
| 順序 | 確認項目 | クイック確認コマンド |
|---|---|---|
| ① | GitHubなどへのネットワークアクセスを確認 | curl -I https://github.com |
| ② | Gitバージョン ≥ 2.40 | git --version |
| ③ | Rust stableツールチェーンがリポジトリ要件に合致しているか | rustup show |
| ④ | Node.js ≥ 20 LTS | node --version |
| ⑤ | ディスク空き容量 ≥ 8 GB | df -h . |
| ⑥ | rust-toolchain.tomlと.nvmrcのバージョン要件を確認 | cat rust-toolchain.toml && cat .nvmrc |
| ⑦ | 完全なエラーログをキャプチャ | cargo build 2>&1 | tee build.log |
CARGO_BUILD_JOBSをCPUコア数に設定することで並列化できます(例:export CARGO_BUILD_JOBS=8)。6. それでも解決しない場合の対処法
- 公式Issueトラッカーを検索:GitHub Issuesでエラーキーワードを検索してください。
- 詳細なIssueを作成:
cargo build 2>&1 | head -100の出力とrustup show、node --version、OSバージョンを貼り付けてください。 - Dockerにフォールバック:ネイティブインストールが失敗し続ける場合、Dockerコンテナが環境の差異を回避する最速の方法です。
- 推論バックエンドを外部化:ローカルの計算リソースが不足している場合は、OpenHumanのモデルエンドポイントをリモートのOllamaインスタンスに向けることができます。
OpenHumanをリモートMacノードと連携させる方法については、OpenHuman 20分でパーソナル知識庫を構築の記事もご参照ください。
7. まとめ
OpenHumanのインストール問題の90%は3つの根本原因に集中しています:ビルドツールチェーンの不備、ランタイムバージョンの不一致、そしてプラットフォームの権限またはネットワーク制限。このガイドを順番に確認すれば、ほとんどの問題は30分以内に解決できます。
OpenHumanをすぐに試したいだけで環境設定に時間を取られたくない場合は、Dockerが最も手軽な出発点です。パフォーマンス最優先で完全ローカル化を目指すなら、Rustツールチェーンをしっかり設定し、大容量ユニファイドメモリを持つApple Siliconマシンを選んでください。