Skip to content

NodeBB - Update auf 1.13.1

NodeBB
  • Gestern kam mal wieder ein Update für NodeBB. Kleine Versionssprünge von 1.13.0 auf 1.13.1 sind normalerweise kein Problem, gestern gab es aber mal wieder was zu nachdenken 😉

    Da ich zwei Foren betreibe, habe ich das Update auf dem Forum getestet was nicht so viele Besucher hat 🙂 Das war auch gut so. Ich melde mich also mit dem Forum User an, wechsle in das Verzeichnis und stoppe erst mal NodeBB.

    ./nodebb stop
    

    Danach ein

    ./nodebb upgrade
    

    Und dann kommt das.

    Updating NodeBB...
    
    1. Updating package.json file with defaults...  OK
    
    2. Bringing base dependencies up to date...  started
    
    > sharp@0.23.4 install /home/user_radforum/radforum/nodebb/node_modules/sharp
    > (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
    
    info sharp Using cached /home/user_radforum/.npm/_libvips/libvips-8.8.1-linux-x64.tar.gz
    internal/modules/cjs/loader.js:638
        throw err;
        ^
    
    Error: Cannot find module './index'
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
        at Function.Module._load (internal/modules/cjs/loader.js:562:25)
        at Module.require (internal/modules/cjs/loader.js:692:17)
        at require (internal/modules/cjs/helpers.js:25:18)
        at Object.<anonymous> (/home/user_radforum/radforum/nodebb/node_modules/.bin/rc:2:10)
        at Module._compile (internal/modules/cjs/loader.js:778:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
        at Module.load (internal/modules/cjs/loader.js:653:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
        at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    gyp ERR! build error 
    gyp ERR! stack Error: not found: make
    [...gekürzt...]
    

    Ok, ein Problem 🙂 Was können wir an der Ausgabe erkennen? Es wird versucht

    sharp@0.23.4
    

    zu installieren. Dazu wird eine Datei heruntergeladen. Das Log ist der zweite Versuch, das sieht man daran, das hier die gecachte Version benutzt wird zum Installieren.

    info sharp Using cached
    

    Im ersten Versuch wurde das Paket von hier heruntergeladen

    https://github.com/lovell/sharp-libvips/releases/download/v8.8.1/libvips-8.8.1-linux-x64.tar.gz
    

    Das ist jetzt nicht wirklich spannend, das Interessante kommt etwas später. Das hier hat meine Aufmerksamkeit bekommen.

    gyp ERR! stack Error: not found: make
    

    Ok, was passiert hier? Da wird offensichtlich ein Paket heruntergeladen, dieses muss aber erst gebaut werden!? Ok, das hatte ich, wenn ich mich recht erinnere, das Erste mal! Wenn ich nun das NodeBB-Forum auf einem Minimal System betreibe, sind solche Tools standardmäßig nicht installiert. Aber, installieren können wir ja 🙂

    apt install make
    

    Nächster Versuch

    Error: Cannot find module './index'
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
        at Function.Module._load (internal/modules/cjs/loader.js:562:25)
        at Module.require (internal/modules/cjs/loader.js:692:17)
        at require (internal/modules/cjs/helpers.js:25:18)
        at Object.<anonymous> (/home/user_radforum/radforum/nodebb/node_modules/.bin/rc:2:10)
        at Module._compile (internal/modules/cjs/loader.js:778:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
        at Module.load (internal/modules/cjs/loader.js:653:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
        at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    make: Entering directory '/home/user_radforum/radforum/nodebb/node_modules/sharp/build'
      TOUCH Release/obj.target/libvips-cpp.stamp
      CXX(target) Release/obj.target/sharp/src/common.o
    make: g++: Command not found
    make: *** [sharp.target.mk:129: Release/obj.target/sharp/src/common.o] Error 127
    make: Leaving directory '/home/user_radforum/radforum/nodebb/node_modules/sharp/build'
    

    Gut, weiter installieren

    apt install g++
    

    Danach kommt diese Ausgabe.

    make: Entering directory '/home/user_radforum/radforum/nodebb/node_modules/sharp/build'
      TOUCH Release/obj.target/libvips-cpp.stamp
      CXX(target) Release/obj.target/sharp/src/common.o
      CXX(target) Release/obj.target/sharp/src/metadata.o
      CXX(target) Release/obj.target/sharp/src/stats.o
      CXX(target) Release/obj.target/sharp/src/operations.o
      CXX(target) Release/obj.target/sharp/src/pipeline.o
      CXX(target) Release/obj.target/sharp/src/sharp.o
      CXX(target) Release/obj.target/sharp/src/utilities.o
      SOLINK_MODULE(target) Release/obj.target/sharp.node
      COPY Release/sharp.node
    make: Leaving directory '/home/user_radforum/radforum/nodebb/node_modules/sharp/build'
    

    Das Bauen von sharp hat also funktioniert.

    Danach hatte ich aber noch folgendes Problem.

    3. Checking installed plugins for updates...  OK
    
    A total of 2 package(s) can be upgraded:
    
      * nodebb-plugin-2factor (2.6.1 -> 2.6.5)
      * nodebb-plugin-question-and-answer (0.4.2 -> 0.6.3)
    
    Proceed with upgrade (y|n)? n
    

    Diese beiden Plugins kann ich aktuell nicht aktualisieren, weil das Fehler wirft. Ok, dann lasse ich das erstmal.... Habe es dann verneint, danach klappte alles und ich konnte das NodeBB-Forum wieder starten. Ich habe dazu im Forum von NodeBB auch mal einen Thread gestartet.

    Ich kann mich nicht erinnern, mit kleinen Versionssprüngen so viele Probleme zu haben. Aber letztendlich konnte ich das Forum wenigstens wieder zum Laufen bekommen. Mit den zwei Plugins muss ich mich dann die nächsten Tage mal rumschlagen, aber aktuell funktioniert alles.

    Und wenn sich nun jemand fragt, was oder wofür ist sharp überhaupt, das hatte ich mich auch gefragt.

    The typical use case for this high speed Node.js module is to convert large images in common formats to smaller, web-friendly JPEG, PNG and WebP images of varying dimensions.

    Resizing an image is typically 4x-5x faster than using the quickest ImageMagick and GraphicsMagick settings due to its use of libvips.

  • Kurze Ergänzung, heute Morgen dieses Forum hier aktualisiert. Wie erwartet geht es jetzt einfach durch. Bis auf ein Plugin, was nicht kompatibel mit der Version 1.13.x ist. Das ist aber eine andere Baustelle. Für interessierte Leser, hänge ich den Log an.

    ~/nodebb$ ./nodebb upgrade
    
    Updating NodeBB...
    
    1. Updating package.json file with defaults...  OK
    
    2. Bringing base dependencies up to date...  started
    
    > sharp@0.23.4 install /home/user_nodebb/nodebb/node_modules/sharp
    > (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
    
    info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.8.1/libvips-8.8.1-linux-x64.tar.gz
    internal/modules/cjs/loader.js:638
        throw err;
        ^
    
    Error: Cannot find module './index'
        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
        at Function.Module._load (internal/modules/cjs/loader.js:562:25)
        at Module.require (internal/modules/cjs/loader.js:692:17)
        at require (internal/modules/cjs/helpers.js:25:18)
        at Object.<anonymous> (/home/user_nodebb/nodebb/node_modules/.bin/rc:2:10)
        at Module._compile (internal/modules/cjs/loader.js:778:30)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
        at Module.load (internal/modules/cjs/loader.js:653:32)
        at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
        at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    make: Entering directory '/home/user_nodebb/nodebb/node_modules/sharp/build'
      TOUCH Release/obj.target/libvips-cpp.stamp
      CXX(target) Release/obj.target/sharp/src/common.o
      CXX(target) Release/obj.target/sharp/src/metadata.o
      CXX(target) Release/obj.target/sharp/src/stats.o
      CXX(target) Release/obj.target/sharp/src/operations.o
      CXX(target) Release/obj.target/sharp/src/pipeline.o
      CXX(target) Release/obj.target/sharp/src/sharp.o
      CXX(target) Release/obj.target/sharp/src/utilities.o
      SOLINK_MODULE(target) Release/obj.target/sharp.node
      COPY Release/sharp.node
    make: Leaving directory '/home/user_nodebb/nodebb/node_modules/sharp/build'
    npm WARN nodebb-plugin-emoji-android@2.0.0 requires a peer of nodebb-plugin-emoji@^2.0.0 but none is installed. You must install peer dependencies yourself.
    npm WARN textcomplete.contenteditable@0.1.1 requires a peer of textcomplete@^0.14.2 but none is installed. You must install peer dependencies yourself.
    
    added 2 packages from 1 contributor, updated 13 packages and audited 3687 packages in 35.671s
    
    4 packages are looking for funding
      run `npm fund` for details
    
       
    3. Checking installed plugins for updates...  OK
    
    A total of 1 package(s) can be upgraded:
    
      * nodebb-plugin-2factor (2.6.4 -> 2.6.5)
    
    Proceed with upgrade (y|n)? n
    Package upgrades skipped. Check for upgrades at any time by running "./nodebb upgrade -p".
    
    4. Updating NodeBB data store schema...
    Parsing upgrade scripts... 
    2019-12-22T07:52:31.428Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-align-center`. Skipping.
    2019-12-22T07:52:31.429Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-blog-comments`. Skipping.
    2019-12-22T07:52:31.429Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-blog-comments2`. Skipping.
    2019-12-22T07:52:31.430Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-contact-page`. Skipping.
    2019-12-22T07:52:31.430Z [4567/11002] - warn: [upgrade/appendPluginScripts] Unable to read plugin.json for plugin `nodebb-plugin-emoji-fontawesome`. Skipping.
    OK | 0 script(s) found, 84 skipped
    Schema update complete!
    
    
    5. Rebuilding assets...  started
    2019-12-22T07:52:31.489Z [4567/11002] - info: [build] Building in parallel mode
    2019-12-22T07:52:31.491Z [4567/11002] - info: [build]         plugin static dirs  build started
    2019-12-22T07:52:31.500Z [4567/11002] - info: [build]          requirejs modules  build started
    2019-12-22T07:52:31.501Z [4567/11002] - info: [build]           client js bundle  build started
    2019-12-22T07:52:31.503Z [4567/11002] - info: [build]            admin js bundle  build started
    2019-12-22T07:52:31.503Z [4567/11002] - info: [build]         client side styles  build started
    2019-12-22T07:52:31.504Z [4567/11002] - info: [build] admin control panel styles  build started
    2019-12-22T07:52:31.504Z [4567/11002] - info: [build]                  templates  build started
    2019-12-22T07:52:31.505Z [4567/11002] - info: [build]                  languages  build started
    2019-12-22T07:52:31.505Z [4567/11002] - info: [build]                     sounds  build started
    2019-12-22T07:52:32.493Z [4567/11002] - info: [build]                     sounds  build completed in 0.988sec
    2019-12-22T07:52:41.512Z [4567/11002] - info: [build]         client side styles  build completed in 10.009sec
    2019-12-22T07:52:41.939Z [4567/11002] - info: [build] admin control panel styles  build completed in 10.435sec
    2019-12-22T07:52:51.628Z [4567/11002] - info: [build]         plugin static dirs  build completed in 20.136sec
    2019-12-22T07:52:52.192Z [4567/11002] - info: [build]           client js bundle  build completed in 20.691sec
    2019-12-22T07:52:52.192Z [4567/11002] - info: [build]            admin js bundle  build completed in 20.689sec
    2019-12-22T07:52:58.054Z [4567/11002] - info: [build]                  languages  build completed in 26.549sec
    2019-12-22T07:53:01.537Z [4567/11002] - info: [build]                  templates  build completed in 30.033sec
    2019-12-22T07:53:02.409Z [4567/11002] - info: [build]          requirejs modules  build completed in 30.909sec
    2019-12-22T07:53:02.412Z [4567/11002] - info: [build] Asset compilation successful. Completed in 30.921sec.
    
    
                                                                                                 NodeBB Upgrade Complete!
    

    Auch hier sieht man schön, wie das o.g. Paket heruntergeladen wird und gebaut wird!