NodeBB - Update auf 1.13.1
-
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!