Heute auf die neue Version aktualisiert, so wie immer
git fetch
git reset --hard origin/v1.18.x
./nodebb upgrade
./nodebb start
Bei
./nodebb upgrade
kommt dieser Fehler
nodebb@webserver:~/nodebb$ ./nodebb upgrade
Updating NodeBB...
1. Updating package.json file with defaults... OK
2. Bringing base dependencies up to date... started
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
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.
npm ERR! code EEXIST
npm ERR! path /user/nodebb/node_modules/.bin/nanoid
npm ERR! Refusing to delete /user/nodebb/node_modules/.bin/nanoid: is outside /user/nodebb/node_modules/nanoid and not a link
npm ERR! File exists: /user/nodebb/node_modules/.bin/nanoid
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
npm ERR! A complete log of this run can be found in:
npm ERR! /user/.npm/_logs/2021-10-09T15_39_29_779Z-debug.log
Error installing dependencies!
message: Command failed: npm install --production
stdout: null
stderr: null
Error occurred during upgrade: Error: Command failed: npm install --production
at checkExecSyncError (child_process.js:790:11)
at Object.execSync (child_process.js:863:15)
at Object.installAll (/user/nodebb/src/cli/package-install.js:73:9)
at Object.handler (/user/nodebb/src/cli/upgrade.js:21:19)
at runSteps (/user/nodebb/src/cli/upgrade.js:54:16)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async Object.runUpgrade [as upgrade] (/user/nodebb/src/cli/upgrade.js:84:3)
(node:36405) UnhandledPromiseRejectionWarning: Error: Command failed: npm install --production
at checkExecSyncError (child_process.js:790:11)
at Object.execSync (child_process.js:863:15)
at Object.installAll (/user/nodebb/src/cli/package-install.js:73:9)
at Object.handler (/user/nodebb/src/cli/upgrade.js:21:19)
at runSteps (/user/nodebb/src/cli/upgrade.js:54:16)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async Object.runUpgrade [as upgrade] (/user/nodebb/src/cli/upgrade.js:84:3)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:36405) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:36405) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Ok, da bekommt man dann immer feuchte Hände. Ist aber mit Proxmox nicht so schlimm, ich mache vorher immer Snapshots.
Ok, aufmerksam lesen, hilft hier meistens.
npm ERR! File exists: /user/nodebb/node_modules/.bin/nanoid
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
Ich lese, das man zwei Möglichkeiten hat.
- Wir löschen das File von Hand
- Wir nutzen die Option --force
Ich habe die erste Option getestet. Zur Sicherung verschiebe ich das File.
mv /user/nodebb/node_modules/.bin/nanoid /home/user
Danach wieder
./nodebb upgrade
Diesmal funktioniert es einwandfrei.