OpenHuman erlangte Anfang 2026 mit seinem “Local-First, Langzeit-Gedächtnis”-Ansatz für persönliche KI-Agenten schnell Aufmerksamkeit — doch das Projekt befindet sich noch in der Early Beta-Phase. Der Rust + TypeScript Dual-Stack-Build, systemseitige Abhängigkeiten und plattformspezifische Berechtigungsmodelle führen dazu, dass viele Nutzer bereits am ersten Schritt scheitern. Dieser Leitfaden systematisiert die häufigsten Fehlerszenarien auf vier Plattformen mit sofort ausführbaren Fix-Befehlen.
Schnellübersicht
- Mac (Apple Silicon / Intel): Gatekeeper-Blockierung, fehlende Rust-Toolchain, Xcode CLT-Versionskonflikt
- Windows: Pfade mit Leerzeichen und Nicht-ASCII-Zeichen, veralteter WSL2-Kernel, MSVC vs. GNU gemischt
- Docker: Image-Pull-Timeout, arm64/amd64-Architektur-Mismatch, Volume-Berechtigungsfehler
- Node.js: Versionskonflikt, fehlgeschlagener nativer Modul-Rebuild, pnpm/npm-Abhängigkeitskonflikte
1. Mac-Fehlerbehebung (Apple Silicon & Intel)
1.1 Fehler: “openhuman” kann nicht geöffnet werden, da der Entwickler nicht verifiziert werden kann
macOS Gatekeeper blockiert nicht von Apple notarisierte Binärdateien. Besonders häufig auf Apple Silicon Macs, da nicht alle OpenHuman-Releases den Apple-Notarisierungsprozess durchlaufen.
Lösung A (empfohlen — nur diese Datei freigeben):
# Quarantäne-Attribut im Terminal einmalig entfernen – danach per Doppelklick öffnen
xattr -dr com.apple.quarantine /Applications/OpenHuman.app
Lösung B (Systemeinstellungen): “Systemeinstellungen → Datenschutz & Sicherheit” öffnen, die blockierte App unten finden und “Trotzdem öffnen” klicken.
1.2 Fehler: error: linker `cc` not found
Der Rust-Compiler findet keinen C-Linker — meist weil Xcode Command Line Tools nicht installiert oder veraltet sind.
# Xcode CLT installieren (~2 GB, erfordert Netzwerk beim ersten Mal)
xcode-select --install
# Wenn bereits installiert, aber weiterhin Fehler: Pfad zurücksetzen
sudo xcode-select --reset
# Version prüfen
xcode-select -p
# Ausgabe sollte /Library/Developer/CommandLineTools oder /Applications/Xcode.app/... sein
1.3 Fehler: rustup: command not found oder Rust-Version zu alt
OpenHumans Rust-Kern benötigt typischerweise stable ≥ 1.78 (die genaue Anforderung steht in rust-toolchain.toml).
# rustup installieren (überspringen, falls bereits vorhanden)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Shell-Umgebung neu laden
source "$HOME/.cargo/env"
# Auf die neueste stable-Version aktualisieren
rustup update stable
# Zur vom Repository geforderten Version wechseln (rust-toolchain.toml wird automatisch angewendet)
rustup show
1.4 Fehler: architecture arm64 is not compatible auf Apple Silicon
Einige npm-Native-Addons oder Systembibliotheken bieten keinen arm64-Build, oder Rosetta- und Native-Homebrew sind gleichzeitig installiert.
# Aktuelle Shell-Architektur prüfen
uname -m # sollte arm64 ausgeben (natives M-Series-Shell)
# Homebrew-Pfad prüfen (natives arm64 sollte unter /opt/homebrew liegen)
which brew
# Falls brew auf /usr/local (Rosetta) zeigt, zuerst zur arm64-Shell wechseln
arch -arm64 /bin/zsh
arch -arm64 brew install openssl pkg-config
1.5 Fehler: error: failed to run custom build command for `ring`
Das ring-Crate benötigt Clang/LLVM; auf Mac muss der OpenSSL-Pfad explizit angegeben werden.
# OpenSSL 3 via Homebrew installieren
brew install openssl@3
# Build-Umgebungsvariablen temporär setzen (oder in ~/.zshrc eintragen)
export OPENSSL_DIR="$(brew --prefix openssl@3)"
export OPENSSL_NO_VENDOR=1
# Erneut bauen
cargo build --release
2. Windows-Fehlerbehebung
2.1 Fehler: Build schlägt fehl wegen Leerzeichen oder Nicht-ASCII-Zeichen im Pfad
Cargo und viele npm-Native-Module tolerieren Leerzeichen oder Nicht-ASCII-Zeichen in Pfaden kaum.
:: Repository in einen ASCII-Pfad ohne Leerzeichen klonen, z. B.
git clone https://github.com/tinyhumansai/openhuman C:\dev\openhuman
:: Cargo-Cache auch in sicheren Pfad verschieben (in PowerShell ausführen)
[System.Environment]::SetEnvironmentVariable("CARGO_HOME","C:\dev\.cargo","User")
[System.Environment]::SetEnvironmentVariable("RUSTUP_HOME","C:\dev\.rustup","User")
2.2 Fehler: LINK : fatal error LNK1181
Die MSVC-Toolchain fehlt oder ist nicht korrekt konfiguriert. Für Windows wird MSVC anstelle von GNU empfohlen.
:: 1. Visual Studio 2022 Build Tools installieren (oder vollständiges VS 2022)
:: Pflichtkomponente: „Desktopentwicklung mit C++" → MSVC v143 + Windows SDK
:: 2. Rust auf MSVC-Target umstellen
rustup default stable-x86_64-pc-windows-msvc
rustup target add x86_64-pc-windows-msvc
:: 3. Sicherstellen, dass der Linker gefunden wird
where link
:: Beispielausgabe: C:\Program Files (x86)\Microsoft Visual Studio\...\link.exe
2.3 Fehler: WSL2-Kernel zu alt
Bei der Ausführung von OpenHuman in WSL2 muss der Kernel ≥ 5.15 sein.
:: WSL-Kernel in PowerShell (Administrator) aktualisieren
wsl --update
:: Version prüfen
wsl --version
:: Ziel-Distribution auf WSL2-Modus setzen
wsl --set-version Ubuntu-22.04 2
2.4 Fehler: 'python' is not recognized
Einige npm-Native-Modul-Build-Skripte benötigen den python-Befehl.
:: Option A: python-is-python3 installieren (WSL2 Ubuntu)
sudo apt install python-is-python3
:: Option B: Windows-nativ – npm global auf python3 verweisen
npm config set python python3
:: Option C: windows-build-tools installieren (veraltet, VS Build Tools bevorzugen)
:: Nicht mehr empfohlen, nur zur Referenz
2.5 Fehler: error MSB8036: The Windows SDK version X was not found
:: Visual Studio Installer öffnen → Ändern → Einzelne Komponenten
:: Das passende Windows SDK (10.0.22621 oder neuer empfohlen) auswählen und installieren
:: Nach der Installation Terminal neu starten, dann bauen
3. Docker-Fehlerbehebung
3.1 Fehler: pull access denied oder Pull-Timeout
GitHub Container Registry und Docker Hub sind in manchen Regionen eingeschränkt.
# Option A: Registry-Mirror konfigurieren (in Docker Desktop → Settings → Docker Engine bearbeiten)
# Folgendes JSON-Feld hinzufügen:
# "registry-mirrors": ["https://mirror.gcr.io","https://docker.mirrors.ustc.edu.cn"]
# Option B: Image auf einem Rechner mit Netzwerkzugang exportieren und auf Zielrechner übertragen
docker save ghcr.io/tinyhumansai/openhuman:latest | gzip > openhuman.tar.gz
# Auf dem Zielrechner importieren
gunzip -c openhuman.tar.gz | docker load
3.2 Fehler: Plattform-Mismatch (linux/amd64 vs. linux/arm64)
Beim Verwenden des offiziellen amd64-Images auf Apple Silicon Mac entsteht dieser Warnhinweis.
# Mit explizitem Plattform-Flag pullen (löst Rosetta-Emulation aus, mit Leistungseinbußen)
docker pull --platform linux/amd64 ghcr.io/tinyhumansai/openhuman:latest
# Falls ein offizielles arm64-Image verfügbar ist, das native Image bevorzugen
docker pull --platform linux/arm64 ghcr.io/tinyhumansai/openhuman:latest
# Plattform zur Laufzeit angeben
docker run --platform linux/arm64 ghcr.io/tinyhumansai/openhuman:latest
3.3 Fehler: permission denied — Container kann nicht in Volume schreiben
Der Container-Prozess läuft als Nicht-Root-Benutzer, aber das gemountete Host-Verzeichnis gehört Root.
# Option A: Host-Verzeichnisberechtigungen für den Container-Nutzer (uid meist 1000) öffnen
sudo chown -R 1000:1000 ./openhuman-data
# Option B: docker run als root ausführen (nur Entwicklung, nicht für Produktion)
docker run --user root ...
# Option C: user in Docker Compose angeben
# services:
# openhuman:
# user: "1000:1000"
# volumes:
# - ./openhuman-data:/app/data
3.4 Fehler: exec: "sh": executable file not found
Das Image verwendet eine distroless oder scratch-Basis — keine Shell verfügbar.
# Mit vollständigem bash-Pfad in den Container einsteigen (falls vorhanden)
docker exec -it openhuman /bin/bash
# Falls das Image wirklich keine Shell hat: Debug-Image bauen und Original-Datenvolume einhängen
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
Der Datenbank- oder Vektordienst von OpenHuman startet langsam und der Health-Check schlägt fehl.
# Healthcheck für abhängige Dienste in compose.yml hinzufügen
# services:
# db:
# healthcheck:
# test: ["CMD", "pg_isready", "-U", "openhuman"]
# interval: 5s
# retries: 10
# openhuman:
# depends_on:
# db:
# condition: service_healthy
# Service-Logs manuell prüfen, um die Ursache zu finden
docker compose logs --tail=50 db
docker compose logs --tail=50 openhuman
4. Node.js-Fehlerbehebung
4.1 Fehler: The engine "node" is incompatible with this module
OpenHumans Frontend und Plugin-Schicht erfordern typischerweise Node.js ≥ 20 LTS.
# Mit nvm auf die gewünschte Version wechseln (LTS 20 oder 22 empfohlen)
nvm install 20
nvm use 20
node --version # Ausgabe v20.x.x bestätigen
# Bei Verwendung von fnm (schnellerer Versionsmanager)
fnm install 20
fnm use 20
4.2 Fehler: gyp ERR! build error — nativer Modul-Build fehlgeschlagen
Abhängigkeiten wie better-sqlite3 enthalten native C++ Addons und benötigen eine vollständige Build-Toolchain.
# macOS: sicherstellen, dass Xcode CLT installiert ist
xcode-select --install
# Windows: node-gyp global in PowerShell (Administrator) installieren
npm install -g node-gyp
# Außerdem sicherstellen, dass Visual Studio Build Tools installiert sind (siehe Abschnitt 2.2)
# Linux (Ubuntu/Debian)
sudo apt-get install -y python3 make g++
# Alle nativen Module zwangs-neu bauen
npm rebuild
# Oder mit pnpm
pnpm rebuild
4.3 Fehler: Cannot find module ERR_MODULE_NOT_FOUND
Unvollständige Abhängigkeitsinstallation oder node_modules-Cache stimmt nicht mit der Lockfile überein.
# Komplett bereinigen und neu installieren
rm -rf node_modules
rm package-lock.json # oder pnpm-lock.yaml / yarn.lock
# Mit dem Paketmanager des Projekts neu installieren (pnpm-Beispiel)
corepack enable
pnpm install --frozen-lockfile
4.4 Fehler: ENOSPC: System limit for number of file watchers reached
Das Standard-inotify-Watcher-Limit unter Linux ist zu niedrig.
# Temporär erhöhen (wird nach Neustart zurückgesetzt)
sudo sysctl fs.inotify.max_user_watches=524288
# Einstellung dauerhaft speichern
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
4.5 Fehler: EACCES: permission denied, mkdir '.../.npm'
Berechtigungsprobleme mit dem globalen npm-Verzeichnis.
# npm-Globalverzeichnis auf benutzerbeschreibbaren Pfad ändern
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
# Den obigen export in ~/.zshrc oder ~/.bashrc eintragen, um ihn dauerhaft zu machen
5. Allgemeine Fehlerbehebungs-Checkliste
Unabhängig von der Plattform — bei Installationsproblemen diese Punkte der Reihe nach prüfen:
| # | Prüfpunkt | Schnellbefehl |
|---|---|---|
| ① | Netzwerkzugang zu GitHub / crates.io / registry.npmjs.org | curl -I https://github.com |
| ② | Git-Version ≥ 2.40 | git --version |
| ③ | Rust-Stable-Toolchain erfüllt Repository-Anforderungen | rustup show |
| ④ | Node.js ≥ 20 LTS | node --version |
| ⑤ | Freier Speicherplatz ≥ 8 GB | df -h . |
| ⑥ | Versionsanforderungen in rust-toolchain.toml und .nvmrc prüfen | cat rust-toolchain.toml && cat .nvmrc |
| ⑦ | Vollständiges Fehlerprotokoll erfassen | cargo build 2>&1 | tee build.log |
CARGO_BUILD_JOBS auf die Anzahl Ihrer CPU-Kerne (z.B. export CARGO_BUILD_JOBS=8).6. Noch immer nicht gelöst? Nächste Schritte
- Offiziellen Issue-Tracker durchsuchen: In GitHub Issues nach Fehlerschlüsselwörtern suchen.
- Detailliertes Issue einreichen: Ausgabe von
cargo build 2>&1 | head -100zusammen mitrustup show,node --versionund OS-Version einfügen. - Auf Docker ausweichen: Falls die native Installation weiter scheitert, ist ein Docker-Container der schnellste Weg, Umgebungsunterschiede zu umgehen.
- Inferenz-Backend auslagern: Bei unzureichenden lokalen Ressourcen kann der Modell-Endpunkt auf eine Remote-Ollama-Instanz gerichtet werden.
Zum Muster “lokal nicht installierbar → Remote-Mac-Node verwenden” lesen Sie unseren Artikel über OpenHuman Wissensbasis in 20 Minuten.
7. Fazit
90 % der OpenHuman-Installationsprobleme lassen sich auf drei Grundursachen zurückführen: unvollständige Build-Toolchain, Laufzeit-Versionskonflikt und plattformspezifische Berechtigungs- oder Netzwerkbeschränkungen. Mit diesem Leitfaden lassen sich die meisten Probleme innerhalb von 30 Minuten beheben.
Wer OpenHuman schnell ausprobieren möchte, ohne Zeit mit der Umgebungskonfiguration zu verbringen, findet in Docker den schnellsten Einstieg. Wer maximale Performance und vollständige lokale Kontrolle anstrebt, sollte die Rust-Toolchain sorgfältig einrichten und eine Apple-Silicon-Maschine mit ausreichend Unified Memory wählen.