Sur un Mac mini M4 cloud au Canada, OpenClaw se joue moins sur le « meilleur » installeur au sens marketing que sur un chemin reproductible après reboot, rafraîchissement d’image et passation SSH/VNC. Trois entrées restent dominantes : le bootstrap install.sh amont, Homebrew pour un binaire sous /opt/homebrew/bin/openclaw sur Apple Silicon, et npm lorsque la flotte standardise déjà Node. Chaque option déplace les binaires, le PATH vu par launchd et le risque de dérive lors des mises à jour, tandis que le Gateway conserve en général le TCP 18789. Ce guide compare ces voies, propose une grille de ressources M4 et condense symptôme → premier correctif. Pour le détail gateway.remote.token, tunnel SSH contre exposition directe et PATH plist, croisez avec OpenClaw 2026 sur Mac distant M4 au Canada : tunnel SSH ou passerelle directe ? gateway.remote.token, port 18789, PATH et launchd.
install.sh, Homebrew et npm : ce qui change vraiment
install.sh (ou l’équivalent documenté amont) reste le plus rapide sur une machine neuve : il peut embarquer un Node connu, placer le CLI où le projet l’attend et enchaîner sur openclaw onboard. Le prix à payer est la gouvernance : enregistrez l’URL du script et la politique de sommes de contrôle comme pour tout flux curl | bash, puis figez les versions dans votre wiki dès que l’hôte est en production.
Homebrew convient aux équipes d’exploitation déjà familières de Brew : préfixes Apple Silicon stables, mises à jour via brew upgrade (nom de formule illustratif), audit de /opt/homebrew routinier. L’arête tranchante est classique : launchd n’exécute pas votre ~/.zprofile interactif ; le plist doit invoquer le chemin absolu de openclaw ou préfixer PATH=/opt/homebrew/bin:... explicitement.
npm (global ou par utilisateur avec un gestionnaire de versions) attire lorsqu’OpenClaw est publié comme paquet à côté d’autres services Node sur la même machine : vous réutilisez semver, lockfiles et habitudes JS. Vous héritez aussi du comportement mémoire de Node : des binaires globaux peuvent vivre sous un arbre propre à l’utilisateur, et plusieurs majeurs Node sur un même hôte alimentent les régressions du type « chez moi ça marche » après un changement de politique sans sudo.
| Voie | Idéal quand… | Sur Mac distant, surveillez… |
|---|---|---|
install.sh |
Bootstrap rapide, hôte neuf | URL + version documentées ; politique de re-lancement après upgrade macOS |
| Homebrew | Équipes Brew, chemins binaires clairs | PATH plist vs shell login ; révisions de formule épinglées dans le runbook |
| npm / pnpm global | Flottes JS, politique Node unique | Préfixe utilisateur vs global ; décalage de majeur Node ; pics RAM pendant l’install |
Après toute voie d’installation, convergez sur les mêmes contrôles : openclaw --version, openclaw doctor, puis une session openclaw onboard dans un contexte capable d’afficher les invites que le SSH headless ne répond pas. Les scénarios Channels, webhooks et install.sh en prod partagent les mêmes exigences de jeton et de journaux : gardez la même checklist avant d’ouvrir le trafic réel.
Gateway 18789 et planification ressources M4 au Canada
La géographie ne modifie pas la manière dont le Gateway se lie, mais un nœud Canada est souvent choisi pour la latence nord-américaine et un peering stable vers les API de modèles : dimensionnez tout de même la machine comme si tout le travail CPU/RAM était local. Prévoyez de la marge pour Node (runtime du gateway), la croissance des journaux et une automation navigateur si votre agent embarque Chromium. Un palier M4 intermédiaire avec mémoire unifiée confortable évite que npm, Brew et le pic OS ne se marchent pas dessus pendant une mise à jour nocturne ; cadrer RAM et SSD avec la même rigueur que pour tout poste de build partagé.
lsof -iTCP:18789).zshrcCouplez pare-feu et mode d’écoute : loopback + forward SSH reste le plus lisible ; élargir le bind pour un accès direct appartient derrière TLS ou les règles d’edge du fournisseur que vous avez testées avec authentification par jeton. Dans tous les cas, confirmez qu’un seul processus possède le port après chaque upgrade — les LaunchAgents en double restent une cause fréquente de sondes de santé erratiques. Pour scripts d’onboarding, journaux 7×24 et grille correctifs détaillée, prolongez avec OpenClaw 2026 sur Mac distant : scripts d’installation, onboard, Gateway 18789, jeton, LaunchDaemon, journaux et déploiement M4 Canada 7×24.
Erreurs fréquentes après installation : triage rapide
Commande introuvable : presque toujours un décalage de PATH entre votre session SSH et le démon Gateway. Corrigez avec des ProgramArguments absolus ou un préfixe PATH= dans le plist, puis rechargez le job.
EADDRINUSE sur 18789 : gateway obsolète ou double exécution d’installeur. Arrêtez proprement, retirez les plists en double, rebooter si vous suspectez des listeners orphelins, puis revérifiez openclaw gateway status.
401 ou erreurs de jeton côté clients distants : jeton tourné dans l’UI mais pas là où launchd lit la configuration. Alignez gateway.remote.token sur le même utilisateur que celui qui exécute le démon, pas seulement sur des exports dans un shell interactif.
Cas npm : installation globale réussie pour votre compte alors que le démon tourne sous un autre utilisateur, ou Node mis à jour sans réinstaller le CLI. Harmonisez utilisateur, majeur Node et préfixe global ; préférez Homebrew ou un script unique documenté si la propriété change souvent.
openclaw doctor depuis un wrapper hors login qui imite launchd (environnement minimal) avant de déclarer le Gateway sain.
PATH explicite pour un openclaw Homebrew (adapter utilisateur et style plist)
PATH=/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin /opt/homebrew/bin/openclaw gateway status
Synthèse
Choisissez install.sh pour la vitesse, Homebrew pour des chemins prévisibles et des opérateurs déjà rodés sur Apple Silicon, ou npm lorsque la flotte vit déjà dans Node — puis rendez banals les points ennuyeux : chemins absolus pour launchd, un seul propriétaire du TCP 18789, jetons visibles par l’utilisateur du démon, étapes de mise à jour documentées. Sur un mini M4 cloud au Canada, cette discipline prime sur le micro-benchmark d’installeur, parce que les reboots et les rotations d’équipe arriveront quoi qu’il arrive.