Closed aidenmitchell closed 4 years ago
Here's the log:
homebridge@homebridge-vm:~$ sudo npm install -g --unsafe-perm homebridge-config-ui-x@latest ▌ ╢░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟ WARN engine homebridge-config-ui-x@4.6.7: wanted: {"node":">=8.15.1","homebridge":">=0.4.22"} (current: {"node":"8.10.0","npm":"3.5.2"}) WARN engine homebridge-config-ui-x@4.6.7: wanted: {"node":">=8.15.1","homebridge":">=0.4.22"} (current: {"node":"8.10/usr/local/lib ├─┬ @nestjs/common@6.10.11 │ ├─┬ axios@0.19.0 │ │ ├─┬ follow-redirects@1.5.10 │ │ │ └─┬ debug@3.1.0 │ │ │ └── ms@2.0.0 │ │ └── is-buffer@2.0.4 │ └─┬ cli-color@2.0.0 │ ├── ansi-regex@2.1.1 │ ├─┬ d@1.0.1 │ │ └── type@1.2.0 │ ├─┬ es5-ext@0.10.53 │ │ ├─┬ es6-symbol@3.1.3 │ │ │ └─┬ ext@1.4.0 │ │ │ └── type@2.0.0 │ │ └── next-tick@1.0.0 │ ├── es6-iterator@2.0.3 │ ├─┬ memoizee@0.4.14 │ │ ├── es6-weak-map@2.0.3 │ │ ├── event-emitter@0.3.5 │ │ ├── is-promise@2.1.0 │ │ └── lru-queue@0.1.0 │ └── timers-ext@0.1.7 ├─┬ @nestjs/core@6.10.11 │ ├─┬ @nuxtjs/opencollective@0.2.2 │ │ ├─┬ chalk@2.4.2 │ │ │ ├─┬ ansi-styles@3.2.1 │ │ │ │ └─┬ color-convert@1.9.3 │ │ │ │ └── color-name@1.1.3 │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ └─┬ supports-color@5.5.0 │ │ │ └── has-flag@3.0.0 │ │ ├── consola@2.11.0 │ │ └── node-fetch@2.6.0 │ ├── fast-safe-stringify@2.0.7 │ ├── iterare@1.2.0 │ └── object-hash@2.0.1 ├─┬ @nestjs/platform-fastify@6.10.11 │ ├─┬ fastify@2.10.0 │ │ ├── abstract-logging@1.0.0 │ │ ├── ajv@6.10.2 │ │ ├── readable-stream@3.4.0 │ │ └── secure-json-parse@1.0.0 │ ├─┬ fastify-cors@3.0.0 │ │ └── vary@1.1.2 │ ├─┬ fastify-formbody@3.1.0 │ │ └── qs@6.9.1 │ └── path-to-regexp@3.2.0 ├─┬ @nestjs/platform-socket.io@6.10.11 │ └─┬ socket.io@2.3.0 │ ├─┬ debug@4.1.1 │ │ └── ms@2.1.1 │ ├─┬ engine.io@3.4.0 │ │ ├─┬ accepts@1.3.7 │ │ │ ├─┬ mime-types@2.1.25 │ │ │ │ └── mime-db@1.42.0 │ │ │ └── negotiator@0.6.2 │ │ ├── base64id@2.0.0 │ │ ├── UNMET PEER DEPENDENCY bufferutil@^4.0.1 │ │ ├── cookie@0.3.1 │ │ ├── debug@4.1.1 │ │ ├─┬ engine.io-parser@2.2.0 │ │ │ ├── after@0.8.2 │ │ │ ├── arraybuffer.slice@0.0.7 │ │ │ └── blob@0.0.5 │ │ ├── UNMET PEER DEPENDENCY utf-8-validate@^5.0.2 │ │ └── ws@7.2.1 │ ├─┬ has-binary2@1.0.3 │ │ └── isarray@2.0.1 │ ├── socket.io-adapter@1.1.2 │ ├─┬ socket.io-client@2.3.0 │ │ ├── backo2@1.0.2 │ │ ├── base64-arraybuffer@0.1.5 │ │ ├── component-bind@1.0.0 │ │ ├── component-emitter@1.2.1 │ │ ├── debug@4.1.1 │ │ ├─┬ engine.io-client@3.4.0 │ │ │ ├── component-inherit@0.0.3 │ │ │ ├── debug@4.1.1 │ │ │ ├─┬ ws@6.1.4 │ │ │ │ └── async-limiter@1.0.1 │ │ │ ├── xmlhttprequest-ssl@1.5.5 │ │ │ └── yeast@0.1.2 │ │ ├── has-cors@1.1.0 │ │ ├── indexof@0.0.1 │ │ ├── object-component@0.0.3 │ │ ├─┬ parseqs@0.0.5 │ │ │ └─┬ better-assert@1.0.2 │ │ │ └── callsite@1.0.0 │ │ ├── parseuri@0.0.5 │ │ ├─┬ socket.io-parser@3.3.0 │ │ │ ├─┬ debug@3.1.0 │ │ │ │ └── ms@2.0.0 │ │ │ └── isarray@2.0.1 │ │ └── to-array@0.1.4 │ └─┬ socket.io-parser@3.4.0 │ ├── debug@4.1.1 │ └── isarray@2.0.1 ├── @nestjs/websockets@6.10.11 ├── bowser@2.7.0 ├── commander@2.20.3 ├─┬ fastify@2.11.0 │ ├── abstract-logging@2.0.0 │ ├─┬ ajv@6.10.2 │ │ ├── fast-deep-equal@2.0.1 │ │ ├── fast-json-stable-stringify@2.0.0 │ │ ├── json-schema-traverse@0.4.1 │ │ └─┬ uri-js@4.2.2 │ │ └── punycode@2.1.1 │ ├─┬ avvio@6.3.0 │ │ ├── archy@1.0.0 │ │ ├── debug@4.1.1 │ │ └── fastq@1.6.0 │ ├─┬ fast-json-stringify@1.16.0 │ │ ├── ajv@6.10.2 │ │ └── deepmerge@4.2.2 │ ├─┬ find-my-way@2.2.1 │ │ ├── fast-decode-uri-component@1.0.1 │ │ ├─┬ safe-regex2@2.0.0 │ │ │ └── ret@0.2.2 │ │ └── semver-store@0.3.0 │ ├── flatstr@1.0.12 │ ├─┬ light-my-request@3.6.2 │ │ ├── ajv@6.10.2 │ │ └── readable-stream@3.4.0 │ ├─┬ middie@4.1.0 │ │ ├── path-to-regexp@4.0.5 │ │ └── reusify@1.0.4 │ ├─┬ pino@5.15.0 │ │ ├── fast-redact@2.0.0 │ │ ├── pino-std-serializers@2.4.2 │ │ ├── quick-format-unescaped@3.0.3 │ │ └── sonic-boom@0.7.6 │ ├─┬ proxy-addr@2.0.5 │ │ ├── forwarded@0.1.2 │ │ └── ipaddr.js@1.9.0 │ ├─┬ readable-stream@3.4.0 │ │ ├── inherits@2.0.3 │ │ ├── string_decoder@1.1.1 │ │ └── util-deprecate@1.0.2 │ ├── rfdc@1.1.4 │ ├── secure-json-parse@2.0.0 │ └── tiny-lru@7.0.2 ├─┬ fastify-static@2.5.1 │ ├── fastify-plugin@1.6.0 │ ├─┬ glob@7.1.4 │ │ ├── fs.realpath@1.0.0 │ │ ├─┬ inflight@1.0.6 │ │ │ └── wrappy@1.0.2 │ │ ├─┬ minimatch@3.0.4 │ │ │ └─┬ brace-expansion@1.1.11 │ │ │ ├── balanced-match@1.0.0 │ │ │ └── concat-map@0.0.1 │ │ ├── once@1.4.0 │ │ └── path-is-absolute@1.0.1 │ ├── readable-stream@3.4.0 │ └─┬ send@0.16.2 │ ├── debug@2.6.9 │ ├── depd@1.1.2 │ ├── destroy@1.0.4 │ ├── encodeurl@1.0.2 │ ├── escape-html@1.0.3 │ ├── etag@1.8.1 │ ├── fresh@0.5.2 │ ├─┬ http-errors@1.6.3 │ │ └── setprototypeof@1.1.0 │ ├── mime@1.4.1 │ ├── ms@2.0.0 │ ├─┬ on-finished@2.3.0 │ │ └── ee-first@1.1.1 │ ├── range-parser@1.2.1 │ └── statuses@1.4.0 ├─┬ helmet@3.21.2 │ ├── depd@2.0.0 │ ├── dns-prefetch-control@0.2.0 │ ├── dont-sniff-mimetype@1.1.0 │ ├── expect-ct@0.2.0 │ ├── feature-policy@0.3.0 │ ├── frameguard@3.1.0 │ ├── helmet-crossdomain@0.4.0 │ ├─┬ helmet-csp@2.9.4 │ │ ├── camelize@1.0.0 │ │ ├── content-security-policy-builder@2.1.0 │ │ └── dasherize@2.0.0 │ ├── hide-powered-by@1.1.0 │ ├── hpkp@2.0.0 │ ├─┬ hsts@2.2.0 │ │ └── depd@2.0.0 │ ├── ienoopen@1.1.0 │ ├── nocache@2.1.0 │ ├── referrer-policy@1.2.0 │ └── x-xss-protection@1.3.0 ├─┬ homebridge-config-ui-x@4.6.7 │ ├── class-transformer@0.2.3 │ ├── dayjs@1.8.18 │ ├─┬ fs-extra@8.1.0 │ │ ├── graceful-fs@4.2.0 │ │ ├─┬ jsonfile@4.0.0 │ │ │ └── graceful-fs@4.1.15 │ │ └── universalify@0.1.2 │ ├── google-libphonenumber@3.2.6 extraneous │ ├─┬ node-pty-prebuilt-multiarch@0.9.0 │ │ ├── nan@2.14.0 │ │ └─┬ prebuild-install@5.3.3 │ │ ├── detect-libc@1.0.3 │ │ ├── expand-template@2.0.3 │ │ ├── github-from-package@0.0.0 │ │ ├── minimist@1.2.0 │ │ ├─┬ mkdirp@0.5.1 │ │ │ └── minimist@0.0.8 │ │ ├── napi-build-utils@1.0.1 │ │ ├─┬ node-abi@2.13.0 │ │ │ └── semver@5.7.1 │ │ ├── noop-logger@0.1.1 │ │ ├─┬ npmlog@4.1.2 │ │ │ ├─┬ are-we-there-yet@1.1.5 │ │ │ │ ├── delegates@1.0.0 │ │ │ │ └─┬ readable-stream@2.3.6 │ │ │ │ ├── isarray@1.0.0 │ │ │ │ └── process-nextick-args@2.0.1 │ │ │ ├── console-control-strings@1.1.0 │ │ │ ├─┬ gauge@2.7.4 │ │ │ │ ├── aproba@1.2.0 │ │ │ │ ├── has-unicode@2.0.1 │ │ │ │ ├── object-assign@4.1.1 │ │ │ │ ├── signal-exit@3.0.2 │ │ │ │ ├─┬ 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 │ │ │ │ └── wide-align@1.1.3 │ │ │ └── set-blocking@2.0.0 │ │ ├─┬ pump@3.0.0 │ │ │ └── end-of-stream@1.4.4 │ │ ├─┬ rc@1.2.8 │ │ │ ├── deep-extend@0.6.0 │ │ │ ├── ini@1.3.5 │ │ │ └── strip-json-comments@2.0.1 │ │ ├─┬ simple-get@3.1.0 │ │ │ ├─┬ decompress-response@4.2.1 │ │ │ │ └── mimic-response@2.0.0 │ │ │ └── simple-concat@1.0.0 │ │ ├─┬ tar-fs@2.0.0 │ │ │ ├── chownr@1.1.3 │ │ │ └─┬ tar-stream@2.1.0 │ │ │ ├─┬ bl@3.0.0 │ │ │ │ └── readable-stream@3.4.0 │ │ │ ├── fs-constants@1.0.0 │ │ │ └── readable-stream@3.4.0 │ │ └── which-pm-runs@1.0.0 │ ├── reflect-metadata@0.1.13 │ ├─┬ request@2.88.0 │ │ ├── aws-sign2@0.7.0 │ │ ├── aws4@1.8.0 │ │ ├── caseless@0.12.0 │ │ ├─┬ combined-stream@1.0.7 │ │ │ └── delayed-stream@1.0.0 │ │ ├── extend@3.0.2 │ │ ├── forever-agent@0.6.1 │ │ ├─┬ form-data@2.3.3 │ │ │ └── asynckit@0.4.0 │ │ ├─┬ har-validator@5.1.3 │ │ │ ├── ajv@6.10.0 │ │ │ └── har-schema@2.0.0 │ │ ├─┬ http-signature@1.2.0 │ │ │ ├── assert-plus@1.0.0 │ │ │ ├─┬ jsprim@1.4.1 │ │ │ │ ├── extsprintf@1.3.0 │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ └─┬ verror@1.10.0 │ │ │ │ └── core-util-is@1.0.2 │ │ │ └─┬ sshpk@1.16.1 │ │ │ ├── asn1@0.2.4 │ │ │ ├── bcrypt-pbkdf@1.0.2 │ │ │ ├── dashdash@1.14.1 │ │ │ ├── ecc-jsbn@0.1.2 │ │ │ ├── getpass@0.1.7 │ │ │ ├── jsbn@0.1.1 │ │ │ ├── safer-buffer@2.1.2 │ │ │ └── tweetnacl@0.14.5 │ │ ├── is-typedarray@1.0.0 │ │ ├── isstream@0.1.2 │ │ ├── json-stringify-safe@5.0.1 │ │ ├─┬ mime-types@2.1.22 │ │ │ └── mime-db@1.38.0 │ │ ├── oauth-sign@0.9.0 │ │ ├── performance-now@2.1.0 │ │ ├── qs@6.5.2 │ │ ├── safe-buffer@5.1.2 │ │ ├── tunnel-agent@0.6.0 │ │ └── uuid@3.3.2 │ ├── semver@6.3.0 │ └── validator@12.0.0 extraneous ├── lodash@4.17.15 ├─┬ request-promise-native@1.0.8 │ ├── request-promise-core@1.1.3 │ ├── stealthy-require@1.1.1 │ └─┬ tough-cookie@2.4.3 │ ├── psl@1.1.31 │ └── punycode@1.4.1 └─┬ rxjs@6.5.3 └── tslib@1.10.0 npm WARN ws@7.2.1 requires a peer of bufferutil@^4.0.1 but none was installed. npm WARN ws@7.2.1 requires a peer of utf-8-validate@^5.0.2 but none was installed. npm ERR! Linux 4.15.0-72-generic npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "--unsafe-perm" "homebridge-config-ui-x@latest" npm ERR! node v8.10.0 npm ERR! npm v3.5.2 npm ERR! path /usr/local/lib/node_modules/.staging/@types/validator-28e7a4e8 npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename '/usr/local/lib/node_modules/.staging/@types/validator-28e7a4e8' -> '/usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/@types/validator' npm ERR! enoent ENOENT: no such file or directory, rename '/usr/local/lib/node_modules/.staging/@types/validator-28e7a4e8' -> '/usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/@types/validator' npm ERR! enoent This is most likely not a problem with npm itself npm ERR! enoent and is related to npm not being able to find a file. npm ERR! enoent npm ERR! Please include the following file with any support request: npm ERR! /home/homebridge/npm-debug.log
It tells you. Update nodejs
Where does it say that?
Please read logs.
Oh, ok, thanks.
Thanks @mafyata
@ilovecats516 see https://github.com/oznu/homebridge-config-ui-x#supported-nodejs-and-npm-versions
Here's the log: