Beginner - Homebridge Installation auf MAC OSX - PYT Fehlermeldungen

  • Hallo Community,


    wollte mich heute mal mit der Installation von Homebridge auf einem Mac Mini M2 beschäftigen. Merke aber, dass ich bereits bei der Installation kläglich scheitere. Bevor ich also mein Problem schildere die Frage, ob es bereits einen "Beginners" Guide in der Community gibt die mir hier weiterhelfen kann. Eine Suche hat mich auf die Seiten Diverse Probleme weitergeleitet...


    Meine Umgebung / Mein Problem
    - Mac Mini M2, OS 14.0 Sonoma


    Habe Node.js in der Version 20.8.0 installiert. Das lief ohne Probleme. Bei der Installation von Homebridge selber kommt es zu Fehlermeldungen durch Python. Hier sieht es mir so aus, als ob ein Datei nicht an Ort und Stelle ist. Vielleicht sieht jemand ganz schnell wo mein Problem liegt bzw. kann mich auf die richtige Stelle im Board verweisen. DANKE


    npm ERR! code 1

    npm ERR! path /usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty-prebuilt-multiarch

    npm ERR! command failed

    npm ERR! command sh -c node scripts/check-prebuild.js || prebuild-install || node scripts/install.js

    npm ERR! Prebuild binary missing for platform.

    npm ERR! prebuild-install WARN install No prebuilt binaries found (target=20.8.0 runtime=node arch=arm64 libc= platform=darwin)

    npm ERR! gyp info it worked if it ends with ok

    npm ERR! gyp info using [email protected]

    npm ERR! gyp info using [email protected] | darwin | arm64

    npm ERR! gyp info find Python using Python version 3.11.6 found at "/Library/Frameworks/Python.framework/Versions/3.11/bin/python3"

    npm ERR! gyp info spawn /Library/Frameworks/Python.framework/Versions/3.11/bin/python3

    npm ERR! gyp info spawn args [

    npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',

    npm ERR! gyp info spawn args 'binding.gyp',

    npm ERR! gyp info spawn args '-f',

    npm ERR! gyp info spawn args 'make',

    npm ERR! gyp info spawn args '-I',

    npm ERR! gyp info spawn args '/usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty-prebuilt-multiarch/build/config.gypi',

    npm ERR! gyp info spawn args '-I',

    npm ERR! gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',

    npm ERR! gyp info spawn args '-I',

    npm ERR! gyp info spawn args '/Users/kaizobel/Library/Caches/node-gyp/20.8.0/include/node/common.gypi',

    npm ERR! gyp info spawn args '-Dlibrary=shared_library',

    npm ERR! gyp info spawn args '-Dvisibility=default',

    npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/kaizobel/Library/Caches/node-gyp/20.8.0',

    npm ERR! gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',

    npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/kaizobel/Library/Caches/node-gyp/20.8.0/<(target_arch)/node.lib',

    npm ERR! gyp info spawn args '-Dmodule_root_dir=/usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty-prebuilt-multiarch',

    npm ERR! gyp info spawn args '-Dnode_engine=v8',

    npm ERR! gyp info spawn args '--depth=.',

    npm ERR! gyp info spawn args '--no-parallel',

    npm ERR! gyp info spawn args '--generator-output',

    npm ERR! gyp info spawn args 'build',

    npm ERR! gyp info spawn args '-Goutput_dir=.'

    npm ERR! gyp info spawn args ]

    npm ERR! gyp info spawn make

    npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]

    npm ERR! xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

    npm ERR! gyp ERR! build error

    npm ERR! gyp ERR! stack Error: `make` failed with exit code: 1

    npm ERR! gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:203:23)

    npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:514:28)

    npm ERR! gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:294:12)

    npm ERR! gyp ERR! System Darwin 23.0.0

    npm ERR! gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

    npm ERR! gyp ERR! cwd /usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty-prebuilt-multiarch

    npm ERR! gyp ERR! node -v v20.8.0

    npm ERR! gyp ERR! node-gyp -v v9.4.0

    npm ERR! gyp ERR! not ok

  • Richtig, genau diese einfache und klare Anleitung ;(


    Ich habe mir Node.js runtergeladen und überprüfen können, dass es auch richtig installiert wurde.


    Aber ich denke, ich habe irgendwo einen Denkfehler. Ich habe ja ja nichts weiteres installiert sondern einfach den Befehl

    Code
    sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x

    angewandt. Und schon sind da die Python Fehlermeldungen. Habe ich da etwas komplett falsch verstanden und muss ich noch ein Homebridge Paket installieren. Er schreibt ja, dass ihm irgendwas fehlt.


    Die Installation sollte - nach Beschreibung - super einfach sein. Aber ich denke ich habe einfach eine Sache "übersehen"..


    Danke für die Hilfe.

  • Die Lösung liegt wahrscheinlich in der Meldung "npm ERR! Prebuild binary missing for platform" . Übersetzt: Es gibt vermutlich noch kein auf Sonoma angepasste Version des binary für Node 20. Ich würde es mal mit einer Node 18 Version versuchen (ohne Gewähr), damit läuft die Homebridge genauso gut.

  • Bei mir (auch Sonoma) scheint 18.18.0 die aktuellste zu sein:


    Code
     sudo hb-service update-node
    
    Password:
    ℹ Updating Node.js from v18.16.1 to v18.18.0...

    ... ich glaube, Downgrade geht einfach so. Musst mal die Forensuche quälen, ich weiß es nicht sicher. Oder sschuste mischt sich hier ein; der "Node-Papst". :D

  • Vielen lieben Dank auch beiden. Die Node Version war das Problem. Jetzt lief es ohne Probleme durch und ich kann auf die Weboberfläche zugreifen. Jetzt muss ich aber erst mal mit unserem Labrador raus, bevor ich mir die Oberfläche anschauen kann.


    DANKE!