NodeBB - Update auf v1.18.5


  • Dieses Update hat dazu geführt, das ich die VM aus einem Backup wieder herstellen musste, mit einem kleinen Datenverlust 😞 Aber besser, als alles weg 😉

    Diesen Beitrag gab es übrigens auch schon mal LOL

    Ok, was war passiert? Immer wenn ich

    ./nodebb upgrade
    

    machen wollte, also so wie immer, kam folgendes

    Updating NodeBB...
    
    1. Updating package.json file with defaults...  OK
    
    2. Bringing base dependencies up to date...  started
    
    > sharp@0.29.2 install /home/user_radforum/nodebb_test/node_modules/sharp
    > (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
    
    sharp: Using cached /home/user_radforum/.npm/_libvips/libvips-8.11.3-linux-x64.tar.br
    internal/modules/cjs/loader.js:905
      throw err;
      ^
    
    Error: Cannot find module './index'
    Require stack:
    - /home/user_radforum/nodebb_test/node_modules/.bin/rc
    

    Ein alter Bekannter zickt mal wieder rum. Das Tool sharp ist mir schon öfter in die Quere gekommen. Nachdem ich dann ziemlich viel ausprobiert hatte, immer vorher Snapshot usw., dachte ich dann das alles ok war. Aber heute festgestellt, das das Forum nicht ordentlich lief. Jetzt das Problem, ein Rollback . auf was? Ok, getestet. Ging nicht.

    Ok, dann das Backup zurück. Das war leider ein paar Tage alt. Ok, Schwamm drüber, ich war wieder auf dem alten Stand, aber immer noch ohne das Update, brach ja immer ab.

    Ich habe mir dann geholfen, indem ich das sharp in der package.json gelöscht habe. Nun konnte ich updaten, aber ich wusste das dieses Tool benötigt wird. Das ist der Image Processor, also Bildupload, verkleinern usw.

    Also musste das Tool irgendwie auf die Platte. Mir hatte im NodeBB-Forum jemand diesen Link geschickt.

    https://sharp.pixelplumbing.com/install

    Also, mal gelesen. Das hier fand ich interessant.

    When using npm v6 or earlier, the npm install --unsafe-perm flag must be used when installing as root or a sudo user.
    

    Meine npm Version

    user@webserver2:~/nodebb$ npm -v
    6.14.15
    

    Ok, sollte passen. Ich war jetzt also im Homeverzeichnis des Users.

     npm install --unsafe-perm sharp@0.29.2
    

    Danach befand sich das Tool sharp im Ordner node_modules. Die VErsion kann man schön mit

    npm list sharp
    

    testen.

    user@webserver2:~/nodebb$ npm list sharp
    nodebb@1.18.5 /home/user/nodebb
    └── sharp@0.29.2 
    

    Ok, da ist es. Das nun in die NodeBB Installation kopiert, siehe oben. Also in die wo ich das vorher entfernt hatte.
    Dann die package.json wieder angepasst

    "sharp": "0.29.2",
    

    Ein

    ./nodebb upgrade
    

    und danach ging alles wieder. Sehr mühsamer Weg und ich begreife nicht, warum das nicht so wie immer ging!?!?


  • Heute Morgen beim Kaffee dann dieses Forum hier gemacht. Dazu habe ich aber die Vorgehensweise, nach einem Tipp aus dem NodeBB-Forum, ein wenig geändert.

    Ich habe jetzt festgestellt, das es sehr sinnvoll sein kann, nur mit einer Kopie zu arbeiten. Also, kopieren wir uns den ganzen Ordner.

    cp -r nodebb/ nodebb_test/
    

    In diesen Ordner dann wechseln.

    cd nodebb_test/
    

    Der Versuch von

    ./nodebb upgrade
    

    ist wieder gescheitert.

    In file included from ../src/common.cc:24:
    /usr/include/vips/vips8:35:10: fatal error: glib-object.h: Datei oder Verzeichnis nicht gefunden
       35 | #include <glib-object.h>
          |          ^~~~~~~~~~~~~~~
    compilation terminated.
    make: *** [sharp-linux-x64.target.mk:139: Release/obj.target/sharp-linux-x64/src/common.o] Fehler 1
    make: Verzeichnis „/home/user_nodebb/nodebb_test/node_modules/sharp/build“ wird verlassen
    gyp ERR! build error 
    gyp ERR! stack Error: `make` failed with exit code: 2
    

    Nun der Tipp aus dem NodeBB-Forum. Ich soll den node_modules/ Ordner neu installieren lassen. Ok, dazu sichern wir uns den erstmal.

    mv node_modules/ node_modules_BAK/
    

    Danach ein

    npm install
    

    Da ich kein nodejs Nerd bin, vermute ich mal, das npm (der Paketmanager) jetzt alle Pakete aus der package.json neu runterlädt und installiert!? Die Aussage ist mit Vorsicht zu genießen, da ich mir nicht 100% sicher bin. Sollte aber passen 😉 Jedenfalls habe ich danach wieder einen node_modules/ Ordner.

    Dann hatte ich ja gestern gelernt, wie ich mir die Version der Pakete anzeigen lassen kann.

    user@webserver2:~/nodebb_test$ npm list sharp
    nodebb@1.18.5 /home/user/nodebb_test
    └── sharp@0.29.2 
    

    Jetzt hat der Paketmanager npm in der richtigen Version installiert. 🤔 Schon ein wenig verrückt, oder?

    Danach ein

    ./nodebb upgrade
    

    Das lief durch

    NodeBB Upgrade Complete!
    

    Um das jetzt nicht nochmal machen zu müssen, habe ich die Original NodeBB Installation gesichert und den Testordner an dessen Stelle kopiert. Einmal neugestartet und ausprobiert. Bei dieser Version muss ich leider immer zweimal

    ./nodebb upgrade
    

    machen, bis es ordentlich läuft. Seltsam, aber kann ich mit leben. Diese Paket sharp macht jedesmal auf eine andere Art und Weise Probleme - ziemlich nervig. Eigentlich ist dieser Upgrade Vorgang nämlich stressfrei und problemlos. In seltenen Fällen meckert er mal über ein FIle was schon da ist. Das sieht man aber in der Ausgabe und löscht das dann einfach, Vorgang erneut starten und gut.

    Merksatz

    Original Ordner kopieren und darin den Upgrade Prozess erst testen!!

  • Referenced by  FrankM FrankM 
  • Referenced by  FrankM FrankM 
  • 1
  • 3
  • 2
  • 3
  • 1
  • 1
  • 1
  • 1