NEWS
Diskussion zum HowTo nodejs-Installation und upgrade
-
Was spuckt jetzt der Check aus?
-
pi@raspberrypi:~ $ uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && iob -v && whoami && groups && echo $XDG_SESSION_TYPE && pwd && sudo apt-get update &> /dev/null && sudo apt-get update && apt-cache policy nodejs armv7l /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.19.0 v16.19.0 8.19.3 4.0.23 pi pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi iobroker tty /home/pi OK:1 http://raspbian.raspberrypi.org/raspbian buster InRelease OK:2 http://archive.raspberrypi.org/debian buster InRelease OK:3 https://repos.influxdata.com/debian buster InRelease OK:4 https://deb.nodesource.com/node_14.x buster InRelease OK:5 https://deb.nodesource.com/node_16.x buster InRelease Paketlisten werden gelesen... Fertig nodejs: Installiert: 16.19.0-deb-1nodesource1 Installationskandidat: 16.19.0-deb-1nodesource1 Versionstabelle: *** 16.19.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x buster/main armhf Packages 100 /var/lib/dpkg/status 14.21.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_14.x buster/main armhf Packages 10.24.0~dfsg-1~deb10u2 500 500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
-
Gut, die Basis ist jetzt sauber. Dann kannste ja als nächstes den Buster beerdigen.
-
@thomas-braun oh ne, das lass ich jetzt mal so laufen, sonst geht wieder gar nichts mehr
-
Buster hatte sein End Of Life im September erreicht.
Du kommst um das Thema nicht herum, je länger du wartest desto komplexer kann das werden. -
-
@thomas-braun hab mich doch dran gewagt Danke für deine super Anleitungen
pi@raspberrypi:~ $ neofetch `.::///+:/-. --///+//-:`` pi@raspberrypi `+oooooooooooo: `+oooooooooooo: -------------- /oooo++//ooooo: ooooo+//+ooooo. OS: Raspbian GNU/Linux 11 (bullseye) armv7l `+ooooooo:-:oo- +o+::/ooooooo: Host: Raspberry Pi 3 Model B Rev 1.2 `:oooooooo+`` `.oooooooo+- Kernel: 5.15.76-v7+ `:++ooo/. :+ooo+/.` Uptime: 3 mins ...` `.----.` ``.. Packages: 724 (dpkg) .::::-``:::::::::.`-:::-` Shell: bash 5.1.4 -:::-` .:::::::-` `-:::- Terminal: /dev/pts/0 `::. `.--.` `` `.---.``.::` CPU: BCM2835 (4) @ 1.200GHz .::::::::` -::::::::` ` Memory: 183MiB / 922MiB .::` .:::::::::- `::::::::::``::. -:::` ::::::::::. ::::::::::.`:::- :::: -::::::::. `-:::::::: :::: -::- .-:::-.``....``.-::-. -::- .. `` .::::::::. `..`.. -:::-` -::::::::::` .:::::` :::::::` -::::::::::` :::::::. .::::::: -::::::::. :::::::: `-:::::` ..--.` ::::::. `...` `...--..` `...` .:::::::::: `.-::::-`
Oh no, zu früh gefreut
pi@raspberrypi:~ $ iobroker start admin node:internal/modules/cjs/loader:998 throw err; ^ Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:995:15) at Function.Module._load (node:internal/modules/cjs/loader:841:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:22:47 { code: 'MODULE_NOT_FOUND', requireStack: [] }
-
cd /opt/iobroker sudo -H -u iobroker npm install iobroker.js-controller
-
@thomas-braun du bist doch "the Master of Linux Update" und hast die Tolle Anleitung für ein npm Update geschrieben.
Ich bin ja eigentlich in der Windows Welt unterwegs. Trotzdem habe ich es irgendwann mal geschaft eine ioB Installation unter Proxmox / Debian aufzusetzen. Diese Installation nutze ich eigentlich nur, wenn ich Adapter Updates teste, die potentiell viel Blödsinn anrichten können - also mit anderen Worten, äußert selten.
Heute war wieder so ein Tag und ich habe festgestellt, das ich nich auf npm 14.x bin. Nun wollte ich gemäß deiner Anleitung das System auf npm 16.x ziehen.
Wie du ja immer schreibst, "Finger weg vom root". Also wollte ich mit meinem vergebenen User erstmal ein iob fix durchführen. Hier hatte ich schon das 1. Problem, das mein Standard User keine Schreibrechte hat. Auch beim Versuch ein npm Update gemäß deiner Anleitung zu machen waren wieder die fehlenden Schreibrechte vom Standard User das Problem.
Kannst du mir einen Hinweis geben, wie ich dem Standarduser schreibrechte geben kann? Eigentlich sollte das doch der ioB Fixer machen - oder nicht? Vielen Dank für deine Unterstützung.
-
@jb_sullivan sagte in Diskussion zum HowTo nodejs-Installation und upgrade:
Eigentlich sollte das doch der ioB Fixer machen - oder nicht?
Nein, der iobroker fixer packt die Rechte von Standardusern (vom User 'iobroker' abgesehen) natürlich nicht an.
Für Proxmox gibt es aber eine gute Anleitung in der iobroker Dokumentation. Da steht drin wie man da einen User mit den richtigen Rechten und Gruppenzugehörigkeiten ausstattet. -
@thomas-braun
Hm iwas passt da nicht, konnte erst heute weitermachenpi@raspberrypi:/opt/iobroker $ sudo -H -u iobroker npm install iobroker.js-controller npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/agent-base npm ERR! dest /opt/iobroker/node_modules/.agent-base-ZzrsLltQ npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/agent-base' -> '/opt/iobroker/node_modules/.agent-base-ZzrsLltQ' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-12-25T08_22_02_504Z-debug-0.log
Soll ich die log posten?
Das sind 4000 Zeilen -
@uncleb sagte in Diskussion zum HowTo nodejs-Installation und upgrade:
Hm iwas passt da nicht, konnte erst heute weitermachen
Einmal das in die Konsole
Nicht abtippen .. sondern kopieren !!
for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done
danach dein
sudo -H -u iobroker npm install iobroker.js-controller
-
@jb_sullivan sagte in Diskussion zum HowTo nodejs-Installation und upgrade:
und hast die Tolle Anleitung für ein npm Update geschrieben.
never!
npm wird nicht einzeln mit der Hand angefasst. -
@glasfaser said in [Diskussion zum HowTo nodejs-Installation und upgrade](/post/916062
> sudo -H -u iobroker npm install iobroker.js-controller pi@raspberrypi:/opt/iobroker $ for i in $(find /opt/iobroker/node_modules -type d -iname ".*-????????" ! -iname ".local-chromium"); do rm -rf ${i%%/}; done pi@raspberrypi:/opt/iobroker $ sudo -H -u iobroker npm install iobroker.js-controller npm WARN deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your dependencies. npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm ERR! code 22 npm ERR! path /opt/iobroker/node_modules/iobroker.js-controller npm ERR! command failed npm ERR! command sh -c -- node iobroker.js setup first npm ERR! No connection to databases possible ... npm ERR! Cannot load "custom": Connection is closed. npm ERR! Cannot initialize database scripts: Cannot load "custom" into objects database: Connection is closed. npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-12-25T09_41_59_839Z-debug-0.log
MOD-EDIT: Codeincode-tagsgesetzt!
-
@uncleb sagte in Diskussion zum HowTo nodejs-Installation und upgrade:
Warum packst du die Ausgabe nicht in Code-Tags </> , das kann man so nicht lesen.
No connection to databases possible ...
und zeige mal :
du -sh /opt/iobroker/iobroker-data/objects.jsonl
-
@glasfaser said in Diskussion zum HowTo nodejs-Installation und upgrade:
du -sh /opt/iobroker/iobroker-data/objects.jsonl
Sorry, nun in den Code Tags
pi@raspberrypi:/opt/iobroker $ du -sh /opt/iobroker/iobroker-data/objects.jsonl 5,1M /opt/iobroker/iobroker-data/objects.jsonl
-
Keiner mehr ne Idee??
Ich hätte das Update einfach sein lassn sollen.. -
Mach einen eigenen Thread mit dem Problem auf, das hat ja mit dem HowTo zur nodeJS-Installation nichts zu tun.
Da dann die Ausgabe voniobroker diag
rein. Ggf. zuvor den
iobroker fix
ausführen.
-
Hallo,
ich möchte auf Node 16 inklusive npm 8 updaten.npm -v && node -v && nodejs -v 6.14.17 v14.21.1 v14.21.1
Beim check des npm tree erhalte ich folgende Ausgabe.
Sollte/muss ich den milight Adapter vorher deinstallieren?
npm ls | grep -E 'github|ERR' │ │ │ ├── github-from-package@0.0.0 │ ├─┬ node-milight-promise@0.3.2 (github:Steiger04/node-milight-promise#f1089feac9b7990727adf2016891029436729d33) npm ERR! peer dep missing: tough-cookie@^4.0.0, required by http-cookie-agent@4.0.2 iobroker@nuc-server:/opt/iobroker$
sind die ganzen deduped (deduplicated) Einträge hier OK und können ignoriert werden oder muss hier noch etwas bereinigt werden?
npm ls iobroker.inst@2.0.3 /opt/iobroker ├── colors@1.4.0 ├─┬ fs-extra@7.0.1 │ ├── graceful-fs@4.2.4 │ ├─┬ jsonfile@4.0.0 │ │ └── graceful-fs@4.2.4 deduped │ └── universalify@0.1.2 ├─┬ iobroker@2.0.3 │ ├── colors@1.4.0 deduped │ ├── fs-extra@7.0.1 deduped │ ├── semver@5.7.1 deduped │ └── yargs@7.1.1 deduped ├─┬ iobroker.admin@6.3.5 │ ├─┬ @iobroker/adapter-core@2.6.7 │ │ └─┬ @types/iobroker@4.0.5 │ │ └── @types/node@14.0.14 deduped │ ├─┬ @iobroker/socket-classes@1.0.2 │ │ ├── @iobroker/adapter-core@2.6.7 deduped │ │ ├── axios@0.27.2 deduped │ │ ├── cookie-parser@1.4.6 deduped │ │ └── passport@0.6.0 deduped │ ├─┬ @iobroker/ws-server@2.1.0 │ │ └── ws@8.7.0 │ ├─┬ axios@0.27.2 │ │ ├── follow-redirects@1.15.2 │ │ └─┬ form-data@4.0.0 │ │ ├── asynckit@0.4.0 │ │ ├── combined-stream@1.0.8 deduped │ │ └── mime-types@2.1.27 deduped │ ├─┬ body-parser@1.20.1 │ │ ├── bytes@3.1.2 │ │ ├── content-type@1.0.4 │ │ ├── debug@2.6.9 deduped │ │ ├── depd@2.0.0 │ │ ├── destroy@1.2.0 │ │ ├─┬ http-errors@2.0.0 │ │ │ ├── depd@2.0.0 deduped │ │ │ ├── inherits@2.0.4 │ │ │ ├── setprototypeof@1.2.0 deduped │ │ │ ├── statuses@2.0.1 deduped │ │ │ └── toidentifier@1.0.1 │ │ ├─┬ iconv-lite@0.4.24 │ │ │ └── safer-buffer@2.1.2 │ │ ├─┬ on-finished@2.4.1 │ │ │ └── ee-first@1.1.1 │ │ ├─┬ qs@6.11.0 │ │ │ └── side-channel@1.0.4 deduped │ │ ├─┬ raw-body@2.5.1 │ │ │ ├── bytes@3.1.2 deduped │ │ │ ├── http-errors@2.0.0 deduped │ │ │ ├── iconv-lite@0.4.24 deduped │ │ │ └── unpipe@1.0.0 deduped │ │ ├─┬ type-is@1.6.18 │ │ │ ├── media-typer@0.3.0 │ │ │ └── mime-types@2.1.27 deduped │ │ └── unpipe@1.0.0 │ ├─┬ compression@1.7.4 │ │ ├─┬ accepts@1.3.7 │ │ │ ├── mime-types@2.1.27 deduped │ │ │ └── negotiator@0.6.2 │ │ ├── bytes@3.0.0 │ │ ├─┬ compressible@2.0.18 │ │ │ └── mime-db@1.44.0 │ │ ├─┬ debug@2.6.9 │ │ │ └── ms@2.0.0 │ │ ├── on-headers@1.0.2 │ │ ├── safe-buffer@5.1.2 │ │ └── vary@1.1.2 │ ├── connect-flash@0.1.1 │ ├─┬ cookie-parser@1.4.6 │ │ ├── cookie@0.4.1 │ │ └── cookie-signature@1.0.6 │ ├─┬ express@4.18.2 │ │ ├─┬ accepts@1.3.8 │ │ │ ├─┬ mime-types@2.1.35 │ │ │ │ └── mime-db@1.52.0 │ │ │ └── negotiator@0.6.3 │ │ ├── array-flatten@1.1.1 │ │ ├── body-parser@1.20.1 deduped │ │ ├─┬ content-disposition@0.5.4 │ │ │ └── safe-buffer@5.2.1 deduped │ │ ├── content-type@1.0.4 deduped │ │ ├── cookie@0.5.0 │ │ ├── cookie-signature@1.0.6 deduped │ │ ├── debug@2.6.9 deduped │ │ ├── depd@2.0.0 deduped │ │ ├── encodeurl@1.0.2 │ │ ├── escape-html@1.0.3 │ │ ├── etag@1.8.1 │ │ ├─┬ finalhandler@1.2.0 │ │ │ ├── debug@2.6.9 deduped │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ ├── escape-html@1.0.3 deduped │ │ │ ├── on-finished@2.4.1 deduped │ │ │ ├── parseurl@1.3.3 deduped │ │ │ ├── statuses@2.0.1 deduped │ │ │ └── unpipe@1.0.0 deduped │ │ ├── fresh@0.5.2 │ │ ├── http-errors@2.0.0 deduped │ │ ├── merge-descriptors@1.0.1 │ │ ├── methods@1.1.2 │ │ ├── on-finished@2.4.1 deduped │ │ ├── parseurl@1.3.3 deduped │ │ ├── path-to-regexp@0.1.7 │ │ ├─┬ proxy-addr@2.0.7 │ │ │ ├── forwarded@0.2.0 │ │ │ └── ipaddr.js@1.9.1 │ │ ├── qs@6.11.0 deduped │ │ ├── range-parser@1.2.1 │ │ ├── safe-buffer@5.2.1 │ │ ├─┬ send@0.18.0 │ │ │ ├── debug@2.6.9 deduped │ │ │ ├── depd@2.0.0 deduped │ │ │ ├── destroy@1.2.0 deduped │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ ├── escape-html@1.0.3 deduped │ │ │ ├── etag@1.8.1 deduped │ │ │ ├── fresh@0.5.2 deduped │ │ │ ├── http-errors@2.0.0 deduped │ │ │ ├── mime@1.6.0 │ │ │ ├── ms@2.1.3 │ │ │ ├── on-finished@2.4.1 deduped │ │ │ ├── range-parser@1.2.1 deduped │ │ │ └── statuses@2.0.1 deduped │ │ ├─┬ serve-static@1.15.0 │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ ├── escape-html@1.0.3 deduped │ │ │ ├── parseurl@1.3.3 deduped │ │ │ └── send@0.18.0 deduped │ │ ├── setprototypeof@1.2.0 │ │ ├── statuses@2.0.1 │ │ ├── type-is@1.6.18 deduped │ │ ├── utils-merge@1.0.1 │ │ └── vary@1.1.2 deduped │ ├─┬ express-fileupload@1.4.0 │ │ └─┬ busboy@1.6.0 │ │ └── streamsearch@1.1.0 │ ├─┬ express-session@1.17.3 │ │ ├── cookie@0.4.2 │ │ ├── cookie-signature@1.0.6 deduped │ │ ├── debug@2.6.9 deduped │ │ ├── depd@2.0.0 │ │ ├── on-headers@1.0.2 deduped │ │ ├── parseurl@1.3.3 │ │ ├── safe-buffer@5.2.1 │ │ └─┬ uid-safe@2.1.5 │ │ └── random-bytes@1.0.0 │ ├── mime@3.0.0 │ ├─┬ passport@0.6.0 │ │ ├── passport-strategy@1.0.0 │ │ ├── pause@0.0.1 │ │ └── utils-merge@1.0.1 deduped │ ├─┬ passport-local@1.0.0 │ │ └── passport-strategy@1.0.0 deduped │ ├─┬ semver@7.3.8 │ │ └─┬ lru-cache@6.0.0 │ │ └── yallist@4.0.0 deduped │ └── ws@8.11.0 ├─┬ iobroker.alexa2@3.23.2 │ ├─┬ @iobroker/adapter-core@2.6.7 │ │ └─┬ @types/iobroker@4.0.5 │ │ └── @types/node@14.0.14 deduped │ ├─┬ @sentry/integrations@7.27.0 │ │ ├── @sentry/types@7.27.0 │ │ ├─┬ @sentry/utils@7.27.0 │ │ │ ├── @sentry/types@7.27.0 deduped │ │ │ └── tslib@1.13.0 deduped │ │ ├─┬ localforage@1.8.1 │ │ │ └─┬ lie@3.1.1 │ │ │ └── immediate@3.0.6 deduped │ │ └── tslib@1.13.0 │ ├─┬ @sentry/node@7.27.0 │ │ ├─┬ @sentry/core@7.27.0 │ │ │ ├── @sentry/types@7.27.0 deduped │ │ │ ├── @sentry/utils@7.27.0 deduped │ │ │ └── tslib@1.13.0 deduped │ │ ├── @sentry/types@7.27.0 deduped │ │ ├── @sentry/utils@7.27.0 deduped │ │ ├── cookie@0.4.2 │ │ ├─┬ https-proxy-agent@5.0.0 │ │ │ ├── agent-base@6.0.2 deduped │ │ │ └─┬ debug@4.3.1 │ │ │ └── ms@2.1.2 │ │ ├── lru_map@0.3.3 │ │ └── tslib@1.13.0 deduped │ ├─┬ alexa-remote2@5.10.1 │ │ ├─┬ alexa-cookie2@4.1.3 │ │ │ ├── cookie@0.5.0 │ │ │ ├─┬ express@4.18.2 │ │ │ │ ├─┬ accepts@1.3.8 │ │ │ │ │ ├─┬ mime-types@2.1.35 │ │ │ │ │ │ └── mime-db@1.52.0 │ │ │ │ │ └── negotiator@0.6.3 │ │ │ │ ├── array-flatten@1.1.1 deduped │ │ │ │ ├─┬ body-parser@1.20.1 │ │ │ │ │ ├── bytes@3.1.2 │ │ │ │ │ ├── content-type@1.0.4 deduped │ │ │ │ │ ├── debug@2.6.9 deduped │ │ │ │ │ ├── depd@2.0.0 deduped │ │ │ │ │ ├── destroy@1.2.0 │ │ │ │ │ ├── http-errors@2.0.0 deduped │ │ │ │ │ ├── iconv-lite@0.4.24 deduped │ │ │ │ │ ├── on-finished@2.4.1 deduped │ │ │ │ │ ├── qs@6.11.0 deduped │ │ │ │ │ ├─┬ raw-body@2.5.1 │ │ │ │ │ │ ├── bytes@3.1.2 deduped │ │ │ │ │ │ ├── http-errors@2.0.0 deduped │ │ │ │ │ │ ├── iconv-lite@0.4.24 deduped │ │ │ │ │ │ └── unpipe@1.0.0 deduped │ │ │ │ │ ├── type-is@1.6.18 deduped │ │ │ │ │ └── unpipe@1.0.0 deduped │ │ │ │ ├─┬ content-disposition@0.5.4 │ │ │ │ │ └── safe-buffer@5.2.1 deduped │ │ │ │ ├── content-type@1.0.4 deduped │ │ │ │ ├── cookie@0.5.0 deduped │ │ │ │ ├── cookie-signature@1.0.6 deduped │ │ │ │ ├── debug@2.6.9 deduped │ │ │ │ ├── depd@2.0.0 │ │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ │ ├── escape-html@1.0.3 deduped │ │ │ │ ├── etag@1.8.1 deduped │ │ │ │ ├─┬ finalhandler@1.2.0 │ │ │ │ │ ├── debug@2.6.9 deduped │ │ │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ │ │ ├── escape-html@1.0.3 deduped │ │ │ │ │ ├── on-finished@2.4.1 deduped │ │ │ │ │ ├── parseurl@1.3.3 deduped │ │ │ │ │ ├── statuses@2.0.1 deduped │ │ │ │ │ └── unpipe@1.0.0 deduped │ │ │ │ ├── fresh@0.5.2 deduped │ │ │ │ ├─┬ http-errors@2.0.0 │ │ │ │ │ ├── depd@2.0.0 deduped │ │ │ │ │ ├── inherits@2.0.4 │ │ │ │ │ ├── setprototypeof@1.2.0 deduped │ │ │ │ │ ├── statuses@2.0.1 deduped │ │ │ │ │ └── toidentifier@1.0.1 │ │ │ │ ├── merge-descriptors@1.0.1 deduped │ │ │ │ ├── methods@1.1.2 deduped │ │ │ │ ├─┬ on-finished@2.4.1 │ │ │ │ │ └── ee-first@1.1.1 deduped │ │ │ │ ├── parseurl@1.3.3 deduped │ │ │ │ ├── path-to-regexp@0.1.7 deduped │ │ │ │ ├─┬ proxy-addr@2.0.7 │ │ │ │ │ ├── forwarded@0.2.0 │ │ │ │ │ └── ipaddr.js@1.9.1 deduped │ │ │ │ ├─┬ qs@6.11.0 │ │ │ │ │ └── side-channel@1.0.4 deduped │ │ │ │ ├── range-parser@1.2.1 deduped │ │ │ │ ├── safe-buffer@5.2.1 │ │ │ │ ├─┬ send@0.18.0 │ │ │ │ │ ├── debug@2.6.9 deduped │ │ │ │ │ ├── depd@2.0.0 deduped │ │ │ │ │ ├── destroy@1.2.0 deduped │ │ │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ │ │ ├── escape-html@1.0.3 deduped │ │ │ │ │ ├── etag@1.8.1 deduped │ │ │ │ │ ├── fresh@0.5.2 deduped │ │ │ │ │ ├── http-errors@2.0.0 deduped │ │ │ │ │ ├── mime@1.6.0 deduped │ │ │ │ │ ├── ms@2.1.3 │ │ │ │ │ ├── on-finished@2.4.1 deduped │ │ │ │ │ ├── range-parser@1.2.1 deduped │ │ │ │ │ └── statuses@2.0.1 deduped │ │ │ │ ├─┬ serve-static@1.15.0 │ │ │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ │ │ ├── escape-html@1.0.3 deduped │ │ │ │ │ ├── parseurl@1.3.3 deduped │ │ │ │ │ └── send@0.18.0 deduped │ │ │ │ ├── setprototypeof@1.2.0 │ │ │ │ ├── statuses@2.0.1 │ │ │ │ ├── type-is@1.6.18 deduped │ │ │ │ ├── utils-merge@1.0.1 deduped │ │ │ │ └── vary@1.1.2 deduped │ │ │ ├─┬ http-proxy-middleware@2.0.6 │ │ │ │ ├─┬ @types/http-proxy@1.17.9 │ │ │ │ │ └── @types/node@14.0.14 deduped │ │ │ │ ├─┬ http-proxy@1.18.1 │ │ │ │ │ ├── eventemitter3@4.0.7 │ │ │ │ │ ├── follow-redirects@1.5.10 deduped │ │ │ │ │ └── requires-port@1.0.0 deduped │ │ │ │ ├── is-glob@4.0.1 deduped │ │ │ │ ├── is-plain-obj@3.0.0 │ │ │ │ └─┬ micromatch@4.0.5 │ │ │ │ ├── braces@3.0.2 deduped │ │ │ │ └── picomatch@2.3.1 │ │ │ ├─┬ http-proxy-response-rewrite@0.0.1 │ │ │ │ ├── bufferhelper@0.2.1 │ │ │ │ └─┬ concat-stream@1.6.2 │ │ │ │ ├── buffer-from@1.1.1 deduped │ │ │ │ ├── inherits@2.0.3 deduped │ │ │ │ ├── readable-stream@2.3.7 deduped │ │ │ │ └── typedarray@0.0.6 deduped │ │ │ ├── https@1.0.0 deduped │ │ │ └── querystring@0.2.1 │ │ ├── extend@3.0.2 │ │ ├── https@1.0.0 deduped │ │ ├── querystring@0.2.1 │ │ ├── uuid@9.0.0 │ │ └── ws@8.11.0 │ ├── https@1.0.0 │ ├── nearest-color@0.4.4 │ ├─┬ rrule@2.7.1 │ │ └── tslib@2.4.1 │ └─┬ source-map-support@0.5.21 │ ├── buffer-from@1.1.1 │ └── source-map@0.6.1 ├─┬ iobroker.backitup@2.5.9 │ ├─┬ @googleapis/drive@4.0.1 │ │ └─┬ googleapis-common@6.0.4 │ │ ├── extend@3.0.2 deduped │ │ ├── gaxios@5.0.2 deduped │ │ ├── google-auth-library@8.7.0 deduped │ │ ├── qs@6.7.0 deduped │ │ ├── url-template@2.0.8 │ │ └── uuid@9.0.0 │ ├─┬ @iobroker/adapter-core@2.6.7 │ │ └─┬ @types/iobroker@4.0.5 │ │ └── @types/node@14.0.14 deduped │ ├─┬ axios@1.1.3 │ │ ├── follow-redirects@1.15.2 │ │ ├─┬ form-data@4.0.0 │ │ │ ├── asynckit@0.4.0 deduped │ │ │ ├── combined-stream@1.0.8 deduped │ │ │ └── mime-types@2.1.27 deduped │ │ └── proxy-from-env@1.1.0 │ ├─┬ dropbox-v2-api@2.5.9 │ │ ├── compress-json@2.1.2 │ │ └── request@2.88.2 deduped │ ├─┬ express@4.18.2 │ │ ├─┬ accepts@1.3.8 │ │ │ ├─┬ mime-types@2.1.35 │ │ │ │ └── mime-db@1.52.0 │ │ │ └── negotiator@0.6.3 │ │ ├── array-flatten@1.1.1 deduped │ │ ├─┬ body-parser@1.20.1 │ │ │ ├── bytes@3.1.2 │ │ │ ├── content-type@1.0.4 deduped │ │ │ ├── debug@2.6.9 deduped │ │ │ ├── depd@2.0.0 deduped │ │ │ ├── destroy@1.2.0 │ │ │ ├── http-errors@2.0.0 deduped │ │ │ ├── iconv-lite@0.4.24 deduped │ │ │ ├── on-finished@2.4.1 deduped │ │ │ ├── qs@6.11.0 deduped │ │ │ ├─┬ raw-body@2.5.1 │ │ │ │ ├── bytes@3.1.2 deduped │ │ │ │ ├── http-errors@2.0.0 deduped │ │ │ │ ├── iconv-lite@0.4.24 deduped │ │ │ │ └── unpipe@1.0.0 deduped │ │ │ ├── type-is@1.6.18 deduped │ │ │ └── unpipe@1.0.0 deduped │ │ ├─┬ content-disposition@0.5.4 │ │ │ └── safe-buffer@5.2.1 deduped │ │ ├── content-type@1.0.4 deduped │ │ ├── cookie@0.5.0 │ │ ├── cookie-signature@1.0.6 deduped │ │ ├── debug@2.6.9 deduped │ │ ├── depd@2.0.0 │ │ ├── encodeurl@1.0.2 deduped │ │ ├── escape-html@1.0.3 deduped │ │ ├── etag@1.8.1 deduped │ │ ├─┬ finalhandler@1.2.0 │ │ │ ├── debug@2.6.9 deduped │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ ├── escape-html@1.0.3 deduped │ │ │ ├── on-finished@2.4.1 deduped │ │ │ ├── parseurl@1.3.3 deduped │ │ │ ├── statuses@2.0.1 deduped │ │ │ └── unpipe@1.0.0 deduped │ │ ├── fresh@0.5.2 deduped │ │ ├─┬ http-errors@2.0.0 │ │ │ ├── depd@2.0.0 deduped │ │ │ ├── inherits@2.0.4 │ │ │ ├── setprototypeof@1.2.0 deduped │ │ │ ├── statuses@2.0.1 deduped │ │ │ └── toidentifier@1.0.1 │ │ ├── merge-descriptors@1.0.1 deduped │ │ ├── methods@1.1.2 deduped │ │ ├─┬ on-finished@2.4.1 │ │ │ └── ee-first@1.1.1 deduped │ │ ├── parseurl@1.3.3 deduped │ │ ├── path-to-regexp@0.1.7 deduped │ │ ├─┬ proxy-addr@2.0.7 │ │ │ ├── forwarded@0.2.0 │ │ │ └── ipaddr.js@1.9.1 deduped │ │ ├─┬ qs@6.11.0 │ │ │ └── side-channel@1.0.4 deduped │ │ ├── range-parser@1.2.1 deduped │ │ ├── safe-buffer@5.2.1 │ │ ├─┬ send@0.18.0 │ │ │ ├── debug@2.6.9 deduped │ │ │ ├── depd@2.0.0 deduped │ │ │ ├── destroy@1.2.0 deduped │ │ │ ├── encodeurl@1.0.2 deduped │ │ │ ├── escape-html@1.0.3 deduped │ │ │ ├── etag@1.8.1 deduped │ │ │ ├── fresh@0.5.2 deduped │ │ │ ├── http-errors@2.0.0 deduped │ │ │ ├── mime@1.6.0 deduped │ │ │ ├── ms@2.1.3 │ │ │ ├── on-finished@2.4.1 deduped │ │ │ ├── range-parser@1.2.1 deduped │ │ │ └── statuses@2.0.1 deduped . . . . . . . ├─┬ read-pkg-up@1.0.1 │ ├─┬ find-up@1.1.2 │ │ ├─┬ path-exists@2.1.0 │ │ │ └── pinkie-promise@2.0.1 deduped │ │ └─┬ pinkie-promise@2.0.1 │ │ └── pinkie@2.0.4 │ └─┬ read-pkg@1.1.0 │ ├─┬ load-json-file@1.1.0 │ │ ├── graceful-fs@4.2.4 deduped │ │ ├─┬ parse-json@2.2.0 │ │ │ └─┬ error-ex@1.3.2 │ │ │ └── is-arrayish@0.2.1 │ │ ├── pify@2.3.0 │ │ ├── pinkie-promise@2.0.1 deduped │ │ └─┬ strip-bom@2.0.0 │ │ └── is-utf8@0.2.1 │ ├─┬ normalize-package-data@2.5.0 │ │ ├── hosted-git-info@2.8.8 │ │ ├─┬ resolve@1.17.0 │ │ │ └── path-parse@1.0.6 │ │ ├── semver@5.7.1 deduped │ │ └─┬ validate-npm-package-license@3.0.4 │ │ ├─┬ spdx-correct@3.1.1 │ │ │ ├── spdx-expression-parse@3.0.1 deduped │ │ │ └── spdx-license-ids@3.0.5 │ │ └─┬ spdx-expression-parse@3.0.1 │ │ ├── spdx-exceptions@2.3.0 │ │ └── spdx-license-ids@3.0.5 deduped │ └─┬ path-type@1.1.0 │ ├── graceful-fs@4.2.4 deduped │ ├── pify@2.3.0 deduped │ └── pinkie-promise@2.0.1 deduped ├── require-directory@2.1.1 ├── require-main-filename@1.0.1 ├── set-blocking@2.0.0 ├─┬ string-width@1.0.2 │ ├── code-point-at@1.1.0 │ ├─┬ is-fullwidth-code-point@1.0.0 │ │ └── number-is-nan@1.0.1 │ └── strip-ansi@3.0.1 deduped ├── which-module@1.0.0 ├── y18n@3.2.1 └─┬ yargs-parser@5.0.0-security.0 ├── camelcase@3.0.0 deduped └─┬ object.assign@4.1.0 ├─┬ define-properties@1.1.3 │ └── object-keys@1.1.1 deduped ├── function-bind@1.1.1 ├── has-symbols@1.0.1 └── object-keys@1.1.1 deduped npm ERR! peer dep missing: tough-cookie@^4.0.0, required by http-cookie-agent@4.0.2
Vielen Dank im Voraus!
-
Sollte so funktionieren.