Issues installing npm install node-red-contrib-ttn

Hi,
I am running a PI4 and are trying to install --- npm install node-red-contrib-ttn.

It fails to install, please see below error log, can anyone please assit me.

Thank you.

> 0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'install', 'node-red-contrib-ttn' ]
2 info using npm@6.14.8
3 info using node@v12.20.0
4 verbose npm-session 804215a1d153a0d0
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 304 https://registry.npmjs.org/node-red-contrib-ttn 1840ms (from cache)
8 silly pacote tag manifest for node-red-contrib-ttn@latest fetched in 1861ms
9 warn deprecated node-red-contrib-ttn@2.0.5: Deprecated package
10 timing stage:loadCurrentTree Completed in 3444ms
11 silly install loadIdealTree
12 silly install cloneCurrentTreeToIdealTree
13 timing stage:loadIdealTree:cloneCurrentTree Completed in 16ms
14 silly install loadShrinkwrap
15 timing stage:loadIdealTree:loadShrinkwrap Completed in 518ms
16 silly install loadAllDepsIntoIdealTree
17 silly resolveWithNewModule node-red-contrib-ttn@2.0.5 checking installable status
18 http fetch GET 304 https://registry.npmjs.org/ttn 1506ms (from cache)
19 silly pacote range manifest for ttn@^2.2.8 fetched in 1518ms
20 warn deprecated ttn@2.3.3: Deprecated package
21 silly resolveWithNewModule ttn@2.3.3 checking installable status
22 http fetch GET 304 https://registry.npmjs.org/babel-runtime 177ms (from cache)
23 silly pacote range manifest for babel-runtime@^6.26.0 fetched in 187ms
24 silly resolveWithNewModule babel-runtime@6.26.0 checking installable status
25 http fetch GET 304 https://registry.npmjs.org/debug 348ms (from cache)
26 silly pacote range manifest for debug@^2.6.9 fetched in 356ms
27 silly resolveWithNewModule debug@2.6.9 checking installable status
28 http fetch GET 304 https://registry.npmjs.org/jsonwebtoken 408ms (from cache)
29 silly pacote range manifest for jsonwebtoken@^8.3.0 fetched in 418ms
30 silly resolveWithNewModule jsonwebtoken@8.5.1 checking installable status
31 http fetch GET 304 https://registry.npmjs.org/node-fetch 466ms (from cache)
32 silly pacote range manifest for node-fetch@^1.7.3 fetched in 479ms
33 silly resolveWithNewModule node-fetch@1.7.3 checking installable status
34 http fetch GET 304 https://registry.npmjs.org/source-map-support 486ms (from cache)
35 silly pacote range manifest for source-map-support@^0.4.18 fetched in 493ms
36 silly resolveWithNewModule source-map-support@0.4.18 checking installable status
37 http fetch GET 304 https://registry.npmjs.org/node-pre-gyp 497ms (from cache)
38 silly pacote range manifest for node-pre-gyp@^0.11.0 fetched in 508ms
39 silly resolveWithNewModule node-pre-gyp@0.11.0 checking installable status
40 http fetch GET 304 https://registry.npmjs.org/google-protobuf 1704ms (from cache)
41 silly pacote range manifest for google-protobuf@^3.8.0 fetched in 1714ms
42 silly resolveWithNewModule google-protobuf@3.14.0 checking installable status
43 http fetch GET 304 https://registry.npmjs.org/mqtt 1717ms (from cache)
44 silly pacote range manifest for mqtt@^2.18.8 fetched in 1732ms
45 silly resolveWithNewModule mqtt@2.18.8 checking installable status
46 http fetch GET 304 https://registry.npmjs.org/grpc 1740ms (from cache)
47 silly pacote range manifest for grpc@^1.21.1 fetched in 1749ms
48 silly resolveWithNewModule grpc@1.24.4 checking installable status
49 info lifecycle ttnapi@2.0.0~prepack: ttnapi@2.0.0
50 info lifecycle ttnapi@2.0.0~postpack: ttnapi@2.0.0
51 silly pacote git manifest for ttnapi@git+https://github.com/thethingsnetwork/api.git fetched in 15761ms
52 silly resolveWithNewModule ttnapi@2.0.0 checking installable status
53 warn registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ENODATA: Cache input stream was empty
54 warn registry Using stale data from https://registry.npmjs.org/ due to a request error during revalidation.
55 silly fetchPackageMetaData error for core-js@^2.4.0 Invalid response body while trying to fetch https://registry.npmjs.org/core-js: Integrity verification failed for sha512-TS0CvGqZXRPCpUY6+X110FLhm/PJ/uFP/Bdw3FJxHTnGBndAXSeh7CWnNQm3YqmEPb/yWOOqD4S0DOdbhU4V5A== (/home/pi/.npm/_cacache/content-v2/sha512/4d/2d/02bc6a995d13c2a5463af97d75d052e19bf3c9fee14ffc1770dc52711d39c60677405d27a1ec25a73509b762a9843dbff258e3aa0f84b40ce75b854e15e4)
56 silly fetchPackageMetaData error for regenerator-runtime@^0.11.0 Invalid response body while trying to fetch https://registry.npmjs.org/regenerator-runtime: Integrity verification failed for sha512-4541yB+bfeA8fUtCqk7CUY8cMHr95KnfBw0UFU+FRJYIKHs2HBYqxLBOjcb/xq9kTsmoQSGWATNsITaVcrLYeQ== (/home/pi/.npm/_cacache/content-v2/sha512/e3/9e/35c81f9b7de03c7d4b42aa4ec2518f1c307afde4a9df070d14154f85449608287b361c162ac4b04e8dc6ffc6af644ec9a841219601336c21369572b2d879)
57 timing stage:rollbackFailedOptional Completed in 3ms
58 timing stage:runTopLevelLifecycles Completed in 21575ms
59 silly saveTree node-red-project@0.0.1
59 silly saveTree ├─┬ node-red-contrib-influxdb@0.4.1
59 silly saveTree │ ├── influx@5.5.2
59 silly saveTree │ └── lodash@4.17.15
59 silly saveTree ├── node-red-contrib-play-audio@2.5.0
59 silly saveTree ├─┬ node-red-contrib-sensor-ds18b20@0.1.0
59 silly saveTree │ └── ds18b20@0.1.0
59 silly saveTree ├─┬ node-red-contrib-ttn@2.0.5
59 silly saveTree │ └─┬ ttn@2.3.3
59 silly saveTree │   ├── babel-runtime@6.26.0
59 silly saveTree │   ├── debug@2.6.9
59 silly saveTree │   ├── google-protobuf@3.14.0
59 silly saveTree │   ├─┬ grpc@1.24.4
59 silly saveTree │   │ └── nan@2.14.1
59 silly saveTree │   ├─┬ jsonwebtoken@8.5.1
59 silly saveTree │   │ ├── ms@2.1.2
59 silly saveTree │   │ └── semver@5.7.1
59 silly saveTree │   ├─┬ mqtt@2.18.8
59 silly saveTree │   │ ├─┬ end-of-stream@1.4.4
59 silly saveTree │   │ │ └─┬ once@1.4.0
59 silly saveTree │   │ │   └── wrappy@1.0.2
59 silly saveTree │   │ ├── inherits@2.0.4
59 silly saveTree │   │ ├── minimist@1.2.5
59 silly saveTree │   │ ├── pump@3.0.0
59 silly saveTree │   │ └─┬ readable-stream@2.3.7
59 silly saveTree │   │   ├── core-util-is@1.0.2
59 silly saveTree │   │   ├── isarray@1.0.0
59 silly saveTree │   │   ├── process-nextick-args@2.0.1
59 silly saveTree │   │   ├── safe-buffer@5.1.2
59 silly saveTree │   │   ├── string_decoder@1.1.1
59 silly saveTree │   │   └── util-deprecate@1.0.2
59 silly saveTree │   ├── node-fetch@1.7.3
59 silly saveTree │   ├─┬ node-pre-gyp@0.11.0
59 silly saveTree │   │ ├── detect-libc@1.0.3
59 silly saveTree │   │ ├── mkdirp@0.5.5
59 silly saveTree │   │ ├─┬ npmlog@4.1.2
59 silly saveTree │   │ │ ├─┬ are-we-there-yet@1.1.5
59 silly saveTree │   │ │ │ └── delegates@1.0.0
59 silly saveTree │   │ │ ├── console-control-strings@1.1.0
59 silly saveTree │   │ │ ├─┬ gauge@2.7.4
59 silly saveTree │   │ │ │ ├── aproba@1.2.0
59 silly saveTree │   │ │ │ ├── has-unicode@2.0.1
59 silly saveTree │   │ │ │ ├── object-assign@4.1.1
59 silly saveTree │   │ │ │ ├── signal-exit@3.0.3
59 silly saveTree │   │ │ │ ├─┬ string-width@1.0.2
59 silly saveTree │   │ │ │ │ ├── code-point-at@1.1.0
59 silly saveTree │   │ │ │ │ ├─┬ is-fullwidth-code-point@1.0.0
59 silly saveTree │   │ │ │ │ │ └── number-is-nan@1.0.1
59 silly saveTree │   │ │ │ │ └─┬ strip-ansi@3.0.1
59 silly saveTree │   │ │ │ │   └── ansi-regex@2.1.1
59 silly saveTree │   │ │ │ ├── strip-ansi@3.0.1
59 silly saveTree │   │ │ │ └── wide-align@1.1.3
59 silly saveTree │   │ │ └── set-blocking@2.0.0
59 silly saveTree │   │ └─┬ rc@1.2.8
59 silly saveTree │   │   ├── deep-extend@0.6.0
59 silly saveTree │   │   ├── ini@1.3.5
59 silly saveTree │   │   └── strip-json-comments@2.0.1
59 silly saveTree │   ├── source-map-support@0.4.18
59 silly saveTree │   └── ttnapi@2.0.0
59 silly saveTree ├─┬ node-red-dashboard@2.23.4
59 silly saveTree │ ├─┬ compression@1.7.4
59 silly saveTree │ │ ├─┬ accepts@1.3.7
59 silly saveTree │ │ │ ├─┬ mime-types@2.1.27
59 silly saveTree │ │ │ │ └── mime-db@1.44.0
59 silly saveTree │ │ │ └── negotiator@0.6.2
59 silly saveTree │ │ ├── bytes@3.0.0
59 silly saveTree │ │ ├── compressible@2.0.18
59 silly saveTree │ │ ├─┬ debug@2.6.9
59 silly saveTree │ │ │ └── ms@2.0.0
59 silly saveTree │ │ ├── on-headers@1.0.2
59 silly saveTree │ │ └── vary@1.1.2
59 silly saveTree │ ├─┬ gridstack@0.6.4
59 silly saveTree │ │ └── jquery@3.5.1
59 silly saveTree │ ├─┬ serve-static@1.14.1
59 silly saveTree │ │ ├── encodeurl@1.0.2
59 silly saveTree │ │ ├── escape-html@1.0.3
59 silly saveTree │ │ ├── parseurl@1.3.3
59 silly saveTree │ │ └─┬ send@0.17.1
59 silly saveTree │ │   ├─┬ debug@2.6.9
59 silly saveTree │ │   │ └── ms@2.0.0
59 silly saveTree │ │   ├── depd@1.1.2
59 silly saveTree │ │   ├── destroy@1.0.4
59 silly saveTree │ │   ├── etag@1.8.1
59 silly saveTree │ │   ├── fresh@0.5.2
59 silly saveTree │ │   ├─┬ http-errors@1.7.3
59 silly saveTree │ │   │ ├── setprototypeof@1.1.1
59 silly saveTree │ │   │ ├── statuses@1.5.0
59 silly saveTree │ │   │ └── toidentifier@1.0.0
59 silly saveTree │ │   ├── mime@1.6.0
59 silly saveTree │ │   ├── ms@2.1.1
59 silly saveTree │ │   ├─┬ on-finished@2.3.0
59 silly saveTree │ │   │ └── ee-first@1.1.1
59 silly saveTree │ │   ├── range-parser@1.2.1
59 silly saveTree │ │   └── statuses@1.5.0
59 silly saveTree │ └─┬ socket.io@2.3.0
59 silly saveTree │   ├── debug@4.1.1
59 silly saveTree │   ├─┬ engine.io@3.4.2
59 silly saveTree │   │ ├── base64id@2.0.0
59 silly saveTree │   │ ├── cookie@0.3.1
59 silly saveTree │   │ ├── debug@4.1.1
59 silly saveTree │   │ ├─┬ engine.io-parser@2.2.1
59 silly saveTree │   │ │ ├── after@0.8.2
59 silly saveTree │   │ │ ├── arraybuffer.slice@0.0.7
59 silly saveTree │   │ │ ├── base64-arraybuffer@0.1.4
59 silly saveTree │   │ │ ├── blob@0.0.5
59 silly saveTree │   │ │ └─┬ has-binary2@1.0.3
59 silly saveTree │   │ │   └── isarray@2.0.1
59 silly saveTree │   │ └── ws@7.3.1
59 silly saveTree │   ├── has-binary2@1.0.3
59 silly saveTree │   ├── socket.io-adapter@1.1.2
59 silly saveTree │   ├─┬ socket.io-client@2.3.0
59 silly saveTree │   │ ├── backo2@1.0.2
59 silly saveTree │   │ ├── base64-arraybuffer@0.1.5
59 silly saveTree │   │ ├── component-bind@1.0.0
59 silly saveTree │   │ ├── component-emitter@1.2.1
59 silly saveTree │   │ ├── debug@4.1.1
59 silly saveTree │   │ ├─┬ engine.io-client@3.4.4
59 silly saveTree │   │ │ ├── component-emitter@1.3.0
59 silly saveTree │   │ │ ├── component-inherit@0.0.3
59 silly saveTree │   │ │ ├─┬ debug@3.1.0
59 silly saveTree │   │ │ │ └── ms@2.0.0
59 silly saveTree │   │ │ ├── has-cors@1.1.0
59 silly saveTree │   │ │ ├── indexof@0.0.1
59 silly saveTree │   │ │ ├── parseqs@0.0.6
59 silly saveTree │   │ │ ├── parseuri@0.0.6
59 silly saveTree │   │ │ ├─┬ ws@6.1.4
59 silly saveTree │   │ │ │ └── async-limiter@1.0.1
59 silly saveTree │   │ │ ├── xmlhttprequest-ssl@1.5.5
59 silly saveTree │   │ │ └── yeast@0.1.2
59 silly saveTree │   │ ├── has-cors@1.1.0
59 silly saveTree │   │ ├── indexof@0.0.1
59 silly saveTree │   │ ├── object-component@0.0.3
59 silly saveTree │   │ ├─┬ parseqs@0.0.5
59 silly saveTree │   │ │ └─┬ better-assert@1.0.2
59 silly saveTree │   │ │   └── callsite@1.0.0
59 silly saveTree │   │ ├── parseuri@0.0.5
59 silly saveTree │   │ ├─┬ socket.io-parser@3.3.1
59 silly saveTree │   │ │ ├── component-emitter@1.3.0
59 silly saveTree │   │ │ ├─┬ debug@3.1.0
59 silly saveTree │   │ │ │ └── ms@2.0.0
59 silly saveTree │   │ │ └── isarray@2.0.1
59 silly saveTree │   │ └── to-array@0.1.4
59 silly saveTree │   └─┬ socket.io-parser@3.4.1
59 silly saveTree │     ├── debug@4.1.1
59 silly saveTree │     └── isarray@2.0.1
59 silly saveTree ├── node-red-node-pi-gpio@1.2.0
59 silly saveTree ├── node-red-node-ping@0.2.1
59 silly saveTree ├── node-red-node-random@0.2.0
59 silly saveTree ├─┬ node-red-node-serialport@0.11.0
59 silly saveTree │ └─┬ serialport@9.0.1
59 silly saveTree │   ├─┬ @serialport/binding-mock@9.0.1
59 silly saveTree │   │ ├─┬ @serialport/binding-abstract@9.0.1
59 silly saveTree │   │ │ └── debug@4.2.0
59 silly saveTree │   │ └── debug@4.2.0
59 silly saveTree │   ├─┬ @serialport/bindings@9.0.1
59 silly saveTree │   │ ├─┬ @serialport/parser-readline@9.0.1
59 silly saveTree │   │ │ └── @serialport/parser-delimiter@9.0.1
59 silly saveTree │   │ ├─┬ bindings@1.5.0
59 silly saveTree │   │ │ └── file-uri-to-path@1.0.0
59 silly saveTree │   │ └─┬ prebuild-install@5.3.5
59 silly saveTree │   │   ├── expand-template@2.0.3
59 silly saveTree │   │   ├── github-from-package@0.0.0
59 silly saveTree │   │   ├── napi-build-utils@1.0.2
59 silly saveTree │   │   ├── node-abi@2.19.1
59 silly saveTree │   │   ├── noop-logger@0.1.1
59 silly saveTree │   │   ├─┬ simple-get@3.1.0
59 silly saveTree │   │   │ ├─┬ decompress-response@4.2.1
59 silly saveTree │   │   │ │ └── mimic-response@2.1.0
59 silly saveTree │   │   │ └── simple-concat@1.0.1
59 silly saveTree │   │   ├─┬ tar-fs@2.1.0
59 silly saveTree │   │   │ ├── chownr@1.1.4
59 silly saveTree │   │   │ ├── mkdirp-classic@0.5.3
59 silly saveTree │   │   │ └─┬ tar-stream@2.1.4
59 silly saveTree │   │   │   ├─┬ bl@4.0.3
59 silly saveTree │   │   │   │ ├─┬ buffer@5.6.0
59 silly saveTree │   │   │   │ │ ├── base64-js@1.3.1
59 silly saveTree │   │   │   │ │ └── ieee754@1.1.13
59 silly saveTree │   │   │   │ └── readable-stream@3.6.0
59 silly saveTree │   │   │   ├── fs-constants@1.0.0
59 silly saveTree │   │   │   └── readable-stream@3.6.0
59 silly saveTree │   │   ├── tunnel-agent@0.6.0
59 silly saveTree │   │   └── which-pm-runs@1.0.0
59 silly saveTree │   ├── @serialport/parser-byte-length@9.0.1
59 silly saveTree │   ├── @serialport/parser-cctalk@9.0.1
59 silly saveTree │   ├── @serialport/parser-delimiter@9.0.1
59 silly saveTree │   ├── @serialport/parser-readline@9.0.1
59 silly saveTree │   ├── @serialport/parser-ready@9.0.1
59 silly saveTree │   ├── @serialport/parser-regex@9.0.1
59 silly saveTree │   ├── @serialport/stream@9.0.1
59 silly saveTree │   └── debug@4.2.0
59 silly saveTree └── node-red-node-smooth@0.1.2
60 verbose type system
61 verbose stack FetchError: Invalid response body while trying to fetch https://registry.npmjs.org/core-js: Integrity verification failed for sha512-TS0CvGqZXRPCpUY6+X110FLhm/PJ/uFP/Bdw3FJxHTnGBndAXSeh7CWnNQm3YqmEPb/yWOOqD4S0DOdbhU4V5A== (/home/pi/.npm/_cacache/content-v2/sha512/4d/2d/02bc6a995d13c2a5463af97d75d052e19bf3c9fee14ffc1770dc52711d39c60677405d27a1ec25a73509b762a9843dbff258e3aa0f84b40ce75b854e15e4)
61 verbose stack     at Readable.<anonymous> (/usr/lib/node_modules/npm/node_modules/node-fetch-npm/src/body.js:195:14)
61 verbose stack     at Readable.emit (events.js:314:20)
61 verbose stack     at /usr/lib/node_modules/npm/node_modules/make-fetch-happen/cache.js:92:30
61 verbose stack     at tryCatcher (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
61 verbose stack     at Promise._settlePromiseFromHandler (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:517:31)
61 verbose stack     at Promise._settlePromise (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:574:18)
61 verbose stack     at Promise._settlePromise0 (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:619:10)
61 verbose stack     at Promise._settlePromises (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:695:18)
61 verbose stack     at _drainQueueStep (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:138:12)
61 verbose stack     at _drainQueue (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:131:9)
61 verbose stack     at Async._drainQueues (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:147:5)
61 verbose stack     at Immediate.Async.drainQueues (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:17:14)
61 verbose stack     at processImmediate (internal/timers.js:461:21)
62 verbose cwd /home/pi/.node-red
63 verbose Linux 5.4.79-v7l+
64 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "node-red-contrib-ttn"
65 verbose node v12.20.0
66 verbose npm  v6.14.8
67 error code EINTEGRITY
68 error errno EINTEGRITY
69 error Invalid response body while trying to fetch https://registry.npmjs.org/core-js: Integrity verification failed for sha512-TS0CvGqZXRPCpUY6+X110FLhm/PJ/uFP/Bdw3FJxHTnGBndAXSeh7CWnNQm3YqmEPb/yWOOqD4S0DOdbhU4V5A== (/home/pi/.npm/_cacache/content-v2/sha512/4d/2d/02bc6a995d13c2a5463af97d75d052e19bf3c9fee14ffc1770dc52711d39c60677405d27a1ec25a73509b762a9843dbff258e3aa0f84b40ce75b854e15e4)
70 verbose exit [ 1, true ]

Looks like your cache corruption

Try running npm install node-red-contrib-ttn again. It may have been a momentary issue or corruption during download

if that doesnt work,

Try clearing cache & try again

npm cache clear --force

Hi Steve,

Thank I follow your instructions but no luck, my pi still have some glitch.

Any other ideas?

2020-12-11T15_19_08_350Z-debug.txt (94.7 KB)

At least the error errno EINTEGRITY is now gone.

In your log, it fails with error error grpc@1.24.4 install: node-pre-gyp install --fallback-to-build` which has lots of hits in a google search.

You might need to read the solutions or post and/or raise a new issue on the grpc repo