Da oben fehlt ein Schritt.
cd nodebb (or path to where nodebb is installed) ./nodebb stop git fetch git checkout v1.12.x git merge origin/v1.12.x ./nodebb upgradeBeim nächsten Upgrade testen.
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!