OpenMarine
Node red embedded into signalk - Printable Version

+- OpenMarine (https://forum.openmarine.net)
+-- Forum: OpenPlotter (https://forum.openmarine.net/forumdisplay.php?fid=1)
+--- Forum: Node Red (https://forum.openmarine.net/forumdisplay.php?fid=15)
+--- Thread: Node red embedded into signalk (/showthread.php?tid=1259)

Pages: 1 2 3


RE: Node red embedded into signalk - PaddyB - 2018-06-19

(2018-06-19, 07:57 PM)jim321 Wrote: been trying to install new nodes from palette manager cpu go's 100% fails to install

Same here, dashboard installed OK earlier and I assumed all was well, not yet... ;Wink

Not sure how "Npm modules to make available' works in the plugin setup in signalk server. 








Submit
"


RE: Node red embedded into signalk - jim321 - 2018-06-19

These are additional modules to make available to node-red functions

https://nodered.org/docs/writing-functions#loading-additional-modules
for example, say you a writing your own function in node-red and you need to use the 'fs' module. So this would be akin to putting const fs = require('fs')
quoted from slack.
and the nodes are only for the embedded node red server Sad


RE: Node red embedded into signalk - sbender - 2018-06-20

(2018-06-19, 07:54 PM)Sailoog Wrote: testing now. amazing.
I only miss node-red-dashboard. We should find out how to install extra modules there and make signal k node red the default node-red installation in OP.

Under the node server config directory (~/.signalk) by default will be a directory called 'red', that's the equivalent of the usual ~/.node-red directory. You can install the dashboard there.


RE: Node red embedded into signalk - jim321 - 2018-06-20

that was going to be the next question lol thanks
updated and got worldmap to install trying to get gpio in now..


RE: Node red embedded into signalk - sbender - 2018-06-20

(2018-06-20, 12:28 AM)sbender Wrote:
(2018-06-19, 07:54 PM)Sailoog Wrote: testing now. amazing.
I only miss node-red-dashboard. We should find out how to install extra modules there and make signal k node red the default node-red installation in OP.

Under the node server config directory (~/.signalk) by default will be a directory called 'red', that's the equivalent of the usual ~/.node-red directory. You can install the dashboard there.

Well, doesn't look like it works. I'll to look into how they are trying to map to /ui ...

(2018-06-20, 12:35 AM)sbender Wrote:
(2018-06-20, 12:28 AM)sbender Wrote:
(2018-06-19, 07:54 PM)Sailoog Wrote: testing now. amazing.
I only miss node-red-dashboard. We should find out how to install extra modules there and make signal k node red the default node-red installation in OP.

Under the node server config directory (~/.signalk) by default will be a directory called 'red', that's the equivalent of the usual ~/.node-red directory. You can install the dashboard there.

Well, doesn't look like it works. I'll to look into how they are trying to map to /ui ...

Found it, it will be at http://localhost:3000/redApi/ui/


Some screen shots and my example flows here: https://github.com/SignalK/node-red-embedded


RE: Node red embedded into signalk - PaddyB - 2018-06-20

Anyone having any luck installing nodes? I have the dashboard working, it installed fine but getting errors trying to install sqlite or serial..

Code:
pi@openplotter:~/.signalk/red $ npm install node-red-node-sqlite
npm ERR! path /home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json
npm ERR! code ELOOP
npm ERR! errno -40
npm ERR! syscall open
npm ERR! ELOOP: too many symbolic links encountered, open '/home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2018-06-20T08_54_11_510Z-debug.log

Code:
pi@openplotter:~/.signalk/red $ cat  /home/pi/.npm/_logs/2018-06-20T08_54_11_510Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node',
1 verbose cli   '/usr/bin/npm',
1 verbose cli   'install',
1 verbose cli   'node-red-node-sqlite' ]
2 info using npm@6.1.0
3 info using node@v8.11.2
4 verbose npm-session 4ac2b803eac58ebc
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly fetchPackageMetaData error for node-red-node-sqlite@file:node_modules/node-red-node-sqlite ELOOP: too many symbolic links encountered, open '/home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json'
8 timing stage:rollbackFailedOptional Completed in 3ms
9 timing stage:runTopLevelLifecycles Completed in 2250ms
10 verbose stack Error: ELOOP: too many symbolic links encountered, open '/home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json'
11 verbose cwd /home/pi/.signalk/red
12 verbose Linux 4.14.34-v7+
13 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "node-red-node-sqlite"
14 verbose node v8.11.2
15 verbose npm  v6.1.0
16 error path /home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json
17 error code ELOOP
18 error errno -40
19 error syscall open
20 error ELOOP: too many symbolic links encountered, open '/home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json'
21 verbose exit [ -40, true ]

And huge thanks for this, really useful Cool


RE: Node red embedded into signalk - Sailoog - 2018-06-20

sbender thanks for this.

node red is the perfect intermediate tool for non programmers and a way to start learning. Having SK parsers implemented is really great. Good job!

I will try to make it the default interface for node red in next openplotter update.


RE: Node red embedded into signalk - jim321 - 2018-06-20

"Under the node server config directory (~/.signalk) by default will be a directory called 'red', that's the equivalent of the usual ~/.node-red directory. You can install the dashboard there.

Well, doesn't look like it works. I'll to look into how they are trying to map to /ui ...

Found it, it will be at http://localhost:3000/redApi/ui/"

i get error there.

not working to install new nodes.

it would be nice to be able to get the sk nodes in the N-R that we use now
i guess i could send to and from instances @ 3000/1880


RE: Node red embedded into signalk - sbender - 2018-06-20

(2018-06-20, 09:56 AM)PaddyB Wrote: Anyone having any luck installing nodes? I have the dashboard working, it installed fine but getting errors trying to install sqlite or serial..

Code:
pi@openplotter:~/.signalk/red $ npm install node-red-node-sqlite
npm ERR! path /home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json
npm ERR! code ELOOP
npm ERR! errno -40
npm ERR! syscall open
npm ERR! ELOOP: too many symbolic links encountered, open '/home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json'

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2018-06-20T08_54_11_510Z-debug.log

Code:
pi@openplotter:~/.signalk/red $ cat  /home/pi/.npm/_logs/2018-06-20T08_54_11_510Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node',
1 verbose cli   '/usr/bin/npm',
1 verbose cli   'install',
1 verbose cli   'node-red-node-sqlite' ]
2 info using npm@6.1.0
3 info using node@v8.11.2
4 verbose npm-session 4ac2b803eac58ebc
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly fetchPackageMetaData error for node-red-node-sqlite@file:node_modules/node-red-node-sqlite ELOOP: too many symbolic links encountered, open '/home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json'
8 timing stage:rollbackFailedOptional Completed in 3ms
9 timing stage:runTopLevelLifecycles Completed in 2250ms
10 verbose stack Error: ELOOP: too many symbolic links encountered, open '/home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json'
11 verbose cwd /home/pi/.signalk/red
12 verbose Linux 4.14.34-v7+
13 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "node-red-node-sqlite"
14 verbose node v8.11.2
15 verbose npm  v6.1.0
16 error path /home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json
17 error code ELOOP
18 error errno -40
19 error syscall open
20 error ELOOP: too many symbolic links encountered, open '/home/pi/.signalk/red/node_modules/node-red-node-sqlite/package.json'
21 verbose exit [ -40, true ]

And huge thanks for this, really useful Cool


I don't have an issues installing:

Code:
$ npm install node-red-node-sqlite

> sqlite3@4.0.0 install /Users/sbender/.signalk/red/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build

[sqlite3] Success: "/Users/sbender/.signalk/red/node_modules/sqlite3/lib/binding/node-v57-darwin-x64/node_sqlite3.node" is installed via remote
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN node-red-project@0.0.1 No repository field.
npm WARN node-red-project@0.0.1 No license field.

+ node-red-node-sqlite@0.2.3
added 68 packages in 2.313s

Something strange about your setup.

Are we sure ~/.signalk is the right place. I'm not sure if that is somewhere else for openplotter. Sailoog?

Something strange with symbolic links going on here?


RE: Node red embedded into signalk - jim321 - 2018-06-20

~/.signalk/red $ npm install node-red-contrib-gpio

Code:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node',
1 verbose cli   '/usr/bin/npm',
1 verbose cli   'install',
1 verbose cli   'node-red-contrib-gpio' ]
2 info using npm@6.1.0
3 info using node@v8.11.2
4 verbose npm-session 5ba4b3f61b6f2675
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 304 https://registry.npmjs.org/node-red-contrib-gpio 552ms (from cache)
8 silly pacote tag manifest for node-red-contrib-gpio@latest fetched in 664ms
9 timing stage:loadCurrentTree Completed in 6164ms
10 silly install loadIdealTree
11 silly install cloneCurrentTreeToIdealTree
12 timing stage:loadIdealTree:cloneCurrentTree Completed in 32ms
13 silly install loadShrinkwrap
14 timing stage:loadIdealTree:loadShrinkwrap Completed in 484ms
15 silly install loadAllDepsIntoIdealTree
16 silly resolveWithNewModule node-red-contrib-gpio@0.14.0 checking installable status
17 http fetch GET 304 https://registry.npmjs.org/firmata 287ms (from cache)
18 silly pacote range manifest for firmata@^0.19.1 fetched in 305ms
19 silly resolveWithNewModule firmata@0.19.1 checking installable status
20 http fetch GET 304 https://registry.npmjs.org/mqtt-serial 651ms (from cache)
21 http fetch GET 304 https://registry.npmjs.org/socket.io-serial 646ms (from cache)
22 http fetch GET 304 https://registry.npmjs.org/lodash 669ms (from cache)
23 http fetch GET 304 https://registry.npmjs.org/udp-serial 666ms (from cache)
24 http fetch GET 304 https://registry.npmjs.org/node-led 674ms (from cache)
25 http fetch GET 304 https://registry.npmjs.org/johnny-five 699ms (from cache)
26 http fetch GET 304 https://registry.npmjs.org/serialport 711ms (from cache)
27 http fetch GET 304 https://registry.npmjs.org/mqtt 930ms (from cache)
28 silly pacote range manifest for mqtt-serial@^0.6.0 fetched in 939ms
29 silly resolveWithNewModule mqtt-serial@0.6.0 checking installable status
30 silly pacote range manifest for socket.io-serial@^0.4.0 fetched in 940ms
31 silly resolveWithNewModule socket.io-serial@0.4.0 checking installable status
32 silly pacote range manifest for lodash@^4.17.5 fetched in 958ms
33 silly resolveWithNewModule lodash@4.17.10 checking installable status
34 silly pacote range manifest for udp-serial@^0.2.0 fetched in 947ms
35 silly resolveWithNewModule udp-serial@0.2.0 checking installable status
36 silly pacote range manifest for node-led@^0.3.1 fetched in 959ms
37 silly resolveWithNewModule node-led@0.3.1 checking installable status
38 silly pacote range manifest for johnny-five@^0.13.0 fetched in 989ms
39 silly resolveWithNewModule johnny-five@0.13.1 checking installable status
40 silly pacote range manifest for serialport@^6.0.5 fetched in 982ms
41 silly resolveWithNewModule serialport@6.2.0 checking installable status
42 silly pacote range manifest for mqtt@^2.15.2 fetched in 994ms
43 silly resolveWithNewModule mqtt@2.18.1 checking installable status
44 silly pacote range manifest for serialport@~6.0.4 fetched in 21ms
45 silly resolveWithNewModule serialport@6.0.5 checking installable status
46 http fetch GET 304 https://registry.npmjs.org/browser-serialport 129ms (from cache)
47 silly pacote tag manifest for browser-serialport@latest fetched in 135ms
48 silly resolveWithNewModule browser-serialport@2.1.0 checking installable status
49 http fetch GET 304 https://registry.npmjs.org/bindings 371ms (from cache)
50 http fetch GET 304 https://registry.npmjs.org/commander 372ms (from cache)
51 http fetch GET 304 https://registry.npmjs.org/prebuild-install 376ms (from cache)
52 http fetch GET 304 https://registry.npmjs.org/nan 381ms (from cache)
53 http fetch GET 304 https://registry.npmjs.org/debug 388ms (from cache)
54 http fetch GET 304 https://registry.npmjs.org/promirepl 406ms (from cache)
55 http fetch GET 304 https://registry.npmjs.org/prompt-list 408ms (from cache)
56 silly pacote range manifest for commander@^2.13.0 fetched in 421ms
57 silly resolveWithNewModule commander@2.15.1 checking installable status
58 silly pacote version manifest for bindings@1.3.0 fetched in 429ms
59 silly resolveWithNewModule bindings@1.3.0 checking installable status
60 silly pacote range manifest for prebuild-install@^2.4.1 fetched in 425ms
61 silly resolveWithNewModule prebuild-install@2.5.3 checking installable status
62 silly pacote range manifest for debug@^3.1.0 fetched in 433ms
63 silly resolveWithNewModule debug@3.1.0 checking installable status
64 silly pacote range manifest for nan@^2.6.2 fetched in 434ms
65 silly resolveWithNewModule nan@2.10.0 checking installable status
66 silly pacote range manifest for promirepl@^1.0.1 fetched in 435ms
67 silly resolveWithNewModule promirepl@1.0.1 checking installable status
68 silly pacote range manifest for prompt-list@^3.1.2 fetched in 437ms
69 silly resolveWithNewModule prompt-list@3.2.0 checking installable status
70 http fetch GET 304 https://registry.npmjs.org/github-from-package 439ms (from cache)
71 http fetch GET 304 https://registry.npmjs.org/expand-template 442ms (from cache)
72 http fetch GET 304 https://registry.npmjs.org/detect-libc 446ms (from cache)
73 http fetch GET 304 https://registry.npmjs.org/mkdirp 444ms (from cache)
74 http fetch GET 304 https://registry.npmjs.org/minimist 449ms (from cache)
75 http fetch GET 304 https://registry.npmjs.org/node-abi 446ms (from cache)
76 http fetch GET 304 https://registry.npmjs.org/noop-logger 446ms (from cache)
77 http fetch GET 304 https://registry.npmjs.org/os-homedir 449ms (from cache)
78 http fetch GET 304 https://registry.npmjs.org/npmlog 452ms (from cache)
79 silly pacote version manifest for github-from-package@0.0.0 fetched in 477ms
80 silly resolveWithNewModule github-from-package@0.0.0 checking installable status
81 silly pacote range manifest for expand-template@^1.0.2 fetched in 484ms
82 silly resolveWithNewModule expand-template@1.1.1 checking installable status
83 silly pacote range manifest for detect-libc@^1.0.3 fetched in 492ms
84 silly resolveWithNewModule detect-libc@1.0.3 checking installable status
85 silly pacote range manifest for mkdirp@^0.5.1 fetched in 498ms
86 silly resolveWithNewModule mkdirp@0.5.1 checking installable status
87 silly pacote range manifest for minimist@^1.2.0 fetched in 507ms
88 silly resolveWithNewModule minimist@1.2.0 checking installable status
89 silly pacote range manifest for node-abi@^2.2.0 fetched in 508ms
90 silly resolveWithNewModule node-abi@2.4.1 checking installable status
91 silly pacote range manifest for noop-logger@^0.1.1 fetched in 508ms
92 silly resolveWithNewModule noop-logger@0.1.1 checking installable status
93 silly pacote range manifest for os-homedir@^1.0.1 fetched in 510ms
94 silly resolveWithNewModule os-homedir@1.0.2 checking installable status
95 silly pacote range manifest for npmlog@^4.0.1 fetched in 517ms
96 silly resolveWithNewModule npmlog@4.1.2 checking installable status
97 http fetch GET 304 https://registry.npmjs.org/pump 714ms (from cache)
98 silly pacote range manifest for pump@^2.0.1 fetched in 736ms
99 silly resolveWithNewModule pump@2.0.1 checking installable status
100 http fetch GET 304 https://registry.npmjs.org/simple-get 303ms (from cache)
101 http fetch GET 304 https://registry.npmjs.org/rc 308ms (from cache)
102 http fetch GET 304 https://registry.npmjs.org/tar-fs 325ms (from cache)
103 http fetch GET 304 https://registry.npmjs.org/tunnel-agent 316ms (from cache)
104 silly pacote range manifest for simple-get@^2.7.0 fetched in 345ms
105 silly resolveWithNewModule simple-get@2.8.1 checking installable status
106 silly pacote range manifest for rc@^1.1.6 fetched in 351ms
107 silly resolveWithNewModule rc@1.2.8 checking installable status
108 silly pacote range manifest for tar-fs@^1.13.0 fetched in 351ms
109 silly resolveWithNewModule tar-fs@1.16.3 checking installable status
110 http fetch GET 304 https://registry.npmjs.org/which-pm-runs 329ms (from cache)
111 silly pacote range manifest for tunnel-agent@^0.6.0 fetched in 336ms
112 silly resolveWithNewModule tunnel-agent@0.6.0 checking installable status
113 silly pacote range manifest for which-pm-runs@^1.0.0 fetched in 337ms
114 silly resolveWithNewModule which-pm-runs@1.0.0 checking installable status
115 silly pacote version manifest for minimist@0.0.8 fetched in 4ms
116 silly resolveWithNewModule minimist@0.0.8 checking installable status
117 http fetch GET 304 https://registry.npmjs.org/semver 93ms (from cache)
118 silly pacote range manifest for semver@^5.4.1 fetched in 101ms
119 silly resolveWithNewModule semver@5.5.0 checking installable status
120 http fetch GET 304 https://registry.npmjs.org/are-we-there-yet 379ms (from cache)
121 http fetch GET 304 https://registry.npmjs.org/gauge 382ms (from cache)
122 http fetch GET 304 https://registry.npmjs.org/console-control-strings 387ms (from cache)
123 http fetch GET 304 https://registry.npmjs.org/set-blocking 384ms (from cache)
124 silly pacote range manifest for are-we-there-yet@~1.1.2 fetched in 391ms
125 silly resolveWithNewModule are-we-there-yet@1.1.5 checking installable status
126 silly pacote range manifest for gauge@~2.7.3 fetched in 397ms
127 silly resolveWithNewModule gauge@2.7.4 checking installable status
128 silly pacote range manifest for console-control-strings@~1.1.0 fetched in 403ms
129 silly resolveWithNewModule console-control-strings@1.1.0 checking installable status
130 silly pacote range manifest for set-blocking@~2.0.0 fetched in 403ms
131 silly resolveWithNewModule set-blocking@2.0.0 checking installable status
132 http fetch GET 304 https://registry.npmjs.org/delegates 148ms (from cache)
133 http fetch GET 304 https://registry.npmjs.org/readable-stream 153ms (from cache)
134 silly pacote range manifest for delegates@^1.0.0 fetched in 167ms
135 silly resolveWithNewModule delegates@1.0.0 checking installable status
136 silly pacote range manifest for readable-stream@^2.0.6 fetched in 169ms
137 silly resolveWithNewModule readable-stream@2.3.6 checking installable status
138 http fetch GET 304 https://registry.npmjs.org/core-util-is 267ms (from cache)
139 silly pacote range manifest for core-util-is@~1.0.0 fetched in 278ms
140 silly resolveWithNewModule core-util-is@1.0.2 checking installable status
141 http fetch GET 304 https://registry.npmjs.org/isarray 283ms (from cache)
142 http fetch GET 304 https://registry.npmjs.org/process-nextick-args 287ms (from cache)
143 silly pacote range manifest for isarray@~1.0.0 fetched in 296ms
144 silly resolveWithNewModule isarray@1.0.0 checking installable status
145 http fetch GET 304 https://registry.npmjs.org/string_decoder 292ms (from cache)
146 silly pacote range manifest for process-nextick-args@~2.0.0 fetched in 300ms
147 silly resolveWithNewModule process-nextick-args@2.0.0 checking installable status
148 http fetch GET 304 https://registry.npmjs.org/util-deprecate 299ms (from cache)
149 silly pacote range manifest for string_decoder@~1.1.1 fetched in 305ms
150 silly resolveWithNewModule string_decoder@1.1.1 checking installable status
151 silly pacote range manifest for util-deprecate@~1.0.1 fetched in 307ms
152 silly resolveWithNewModule util-deprecate@1.0.2 checking installable status
153 http fetch GET 304 https://registry.npmjs.org/aproba 258ms (from cache)
154 silly pacote range manifest for aproba@^1.0.3 fetched in 272ms
155 silly resolveWithNewModule aproba@1.2.0 checking installable status
156 http fetch GET 304 https://registry.npmjs.org/has-unicode 282ms (from cache)
157 http fetch GET 304 https://registry.npmjs.org/object-assign 285ms (from cache)
158 http fetch GET 304 https://registry.npmjs.org/string-width 284ms (from cache)
159 http fetch GET 304 https://registry.npmjs.org/signal-exit 292ms (from cache)
160 http fetch GET 304 https://registry.npmjs.org/strip-ansi 295ms (from cache)
161 silly pacote range manifest for has-unicode@^2.0.0 fetched in 303ms
162 silly resolveWithNewModule has-unicode@2.0.1 checking installable status
163 http fetch GET 304 https://registry.npmjs.org/wide-align 301ms (from cache)
164 silly pacote range manifest for object-assign@^4.1.0 fetched in 313ms
165 silly resolveWithNewModule object-assign@4.1.1 checking installable status
166 silly pacote range manifest for string-width@^1.0.1 fetched in 313ms
167 silly resolveWithNewModule string-width@1.0.2 checking installable status
168 silly pacote range manifest for signal-exit@^3.0.0 fetched in 319ms
169 silly resolveWithNewModule signal-exit@3.0.2 checking installable status
170 silly pacote range manifest for strip-ansi@^3.0.1 fetched in 319ms
171 silly resolveWithNewModule strip-ansi@3.0.1 checking installable status
172 silly pacote range manifest for wide-align@^1.1.0 fetched in 322ms
173 silly resolveWithNewModule wide-align@1.1.3 checking installable status
174 http fetch GET 304 https://registry.npmjs.org/is-fullwidth-code-point 125ms (from cache)
175 http fetch GET 304 https://registry.npmjs.org/code-point-at 133ms (from cache)
176 silly pacote range manifest for is-fullwidth-code-point@^1.0.0 fetched in 137ms
177 silly resolveWithNewModule is-fullwidth-code-point@1.0.0 checking installable status
178 silly pacote range manifest for code-point-at@^1.0.0 fetched in 144ms
179 silly resolveWithNewModule code-point-at@1.1.0 checking installable status
180 http fetch GET 304 https://registry.npmjs.org/number-is-nan 96ms (from cache)
181 silly pacote range manifest for number-is-nan@^1.0.0 fetched in 101ms
182 silly resolveWithNewModule number-is-nan@1.0.1 checking installable status
183 http fetch GET 304 https://registry.npmjs.org/ansi-regex 117ms (from cache)
184 silly pacote range manifest for ansi-regex@^2.0.0 fetched in 123ms
185 silly resolveWithNewModule ansi-regex@2.1.1 checking installable status
186 http fetch GET 304 https://registry.npmjs.org/end-of-stream 123ms (from cache)
187 http fetch GET 304 https://registry.npmjs.org/once 128ms (from cache)
188 silly pacote range manifest for end-of-stream@^1.1.0 fetched in 136ms
189 silly resolveWithNewModule end-of-stream@1.4.1 checking installable status
190 silly pacote range manifest for once@^1.3.1 fetched in 138ms
191 silly resolveWithNewModule once@1.4.0 checking installable status
192 http fetch GET 304 https://registry.npmjs.org/wrappy 97ms (from cache)
193 silly pacote range manifest for wrappy@1 fetched in 102ms
194 silly resolveWithNewModule wrappy@1.0.2 checking installable status
195 http fetch GET 304 https://registry.npmjs.org/deep-extend 142ms (from cache)
196 silly pacote range manifest for deep-extend@^0.6.0 fetched in 151ms
197 silly resolveWithNewModule deep-extend@0.6.0 checking installable status
198 http fetch GET 304 https://registry.npmjs.org/ini 152ms (from cache)
199 http fetch GET 304 https://registry.npmjs.org/strip-json-comments 158ms (from cache)
200 silly pacote range manifest for ini@~1.3.0 fetched in 164ms
201 silly resolveWithNewModule ini@1.3.5 checking installable status
202 silly pacote range manifest for strip-json-comments@~2.0.1 fetched in 167ms
203 silly resolveWithNewModule strip-json-comments@2.0.1 checking installable status
204 http fetch GET 304 https://registry.npmjs.org/simple-concat 112ms (from cache)
205 http fetch GET 304 https://registry.npmjs.org/decompress-response 117ms (from cache)
206 silly pacote range manifest for simple-concat@^1.0.0 fetched in 119ms
207 silly resolveWithNewModule simple-concat@1.0.0 checking installable status
208 silly pacote range manifest for decompress-response@^3.3.0 fetched in 125ms
209 silly resolveWithNewModule decompress-response@3.3.0 checking installable status
210 http fetch GET 304 https://registry.npmjs.org/mimic-response 87ms (from cache)
211 silly pacote range manifest for mimic-response@^1.0.0 fetched in 91ms
212 silly resolveWithNewModule mimic-response@1.0.0 checking installable status
213 silly pacote range manifest for pump@^1.0.0 fetched in 17ms
214 silly resolveWithNewModule pump@1.0.3 checking installable status
215 http fetch GET 304 https://registry.npmjs.org/chownr 145ms (from cache)
216 http fetch GET 304 https://registry.npmjs.org/tar-stream 148ms (from cache)
217 silly pacote range manifest for chownr@^1.0.1 fetched in 175ms
218 silly resolveWithNewModule chownr@1.0.1 checking installable status
219 silly pacote range manifest for tar-stream@^1.1.2 fetched in 177ms
220 silly resolveWithNewModule tar-stream@1.6.1 checking installable status
221 http fetch GET 304 https://registry.npmjs.org/bl 172ms (from cache)
222 http fetch GET 304 https://registry.npmjs.org/buffer-alloc 184ms (from cache)
223 http fetch GET 304 https://registry.npmjs.org/fs-constants 186ms (from cache)
224 silly pacote range manifest for bl@^1.0.0 fetched in 199ms
225 silly resolveWithNewModule bl@1.2.2 checking installable status
226 silly pacote range manifest for buffer-alloc@^1.1.0 fetched in 213ms
227 silly resolveWithNewModule buffer-alloc@1.2.0 checking installable status
228 silly pacote range manifest for fs-constants@^1.0.0 fetched in 215ms
229 silly resolveWithNewModule fs-constants@1.0.0 checking installable status
230 http fetch GET 304 https://registry.npmjs.org/to-buffer 232ms (from cache)
231 silly pacote range manifest for to-buffer@^1.1.0 fetched in 236ms
232 silly resolveWithNewModule to-buffer@1.1.1 checking installable status
233 http fetch GET 304 https://registry.npmjs.org/xtend 296ms (from cache)
234 silly pacote range manifest for xtend@^4.0.0 fetched in 302ms
235 silly resolveWithNewModule xtend@4.0.1 checking installable status
236 http fetch GET 304 https://registry.npmjs.org/buffer-alloc-unsafe 102ms (from cache)
237 silly pacote range manifest for buffer-alloc-unsafe@^1.1.0 fetched in 114ms
238 silly resolveWithNewModule buffer-alloc-unsafe@1.1.0 checking installable status
239 http fetch GET 304 https://registry.npmjs.org/buffer-fill 116ms (from cache)
240 silly pacote range manifest for buffer-fill@^1.0.0 fetched in 127ms
241 silly resolveWithNewModule buffer-fill@1.0.0 checking installable status
242 http fetch GET 304 https://registry.npmjs.org/ansi-dim 122ms (from cache)
243 http fetch GET 304 https://registry.npmjs.org/ansi-cyan 125ms (from cache)
244 silly pacote range manifest for ansi-dim@^0.1.1 fetched in 129ms
245 silly resolveWithNewModule ansi-dim@0.1.1 checking installable status
246 silly pacote range manifest for ansi-cyan@^0.1.1 fetched in 135ms
247 silly resolveWithNewModule ansi-cyan@0.1.1 checking installable status
248 http fetch GET 304 https://registry.npmjs.org/prompt-radio 149ms (from cache)
249 silly pacote range manifest for prompt-radio@^1.2.1 fetched in 153ms
250 silly resolveWithNewModule prompt-radio@1.2.1 checking installable status
251 http fetch GET 304 https://registry.npmjs.org/ansi-wrap 86ms (from cache)
252 silly pacote version manifest for ansi-wrap@0.1.0 fetched in 89ms
253 silly resolveWithNewModule ansi-wrap@0.1.0 checking installable status
254 http fetch GET 304 https://registry.npmjs.org/prompt-checkbox 106ms (from cache)
255 silly pacote range manifest for prompt-checkbox@^2.2.0 fetched in 123ms
256 silly resolveWithNewModule prompt-checkbox@2.2.0 checking installable status
257 http fetch GET 304 https://registry.npmjs.org/prompt-base 113ms (from cache)
258 silly fetchPackageMetaData error for prompt-base@^4.0.2 Unexpected end of JSON input while parsing near '...c-extend":"^0.1.2"},"'
259 timing stage:rollbackFailedOptional Completed in 8ms
260 timing stage:runTopLevelLifecycles Completed in 13192ms
261 silly saveTree node-red-project@0.0.1
261 silly saveTree +-- node-red-contrib-gpio@0.14.0
261 silly saveTree | +-- firmata@0.19.1
261 silly saveTree | | +-- browser-serialport@2.1.0
261 silly saveTree | | `-- serialport@6.0.5
261 silly saveTree | |   +-- bindings@1.3.0
261 silly saveTree | |   +-- commander@2.15.1
261 silly saveTree | |   +-- debug@3.1.0
261 silly saveTree | |   | `-- ms@2.0.0
261 silly saveTree | |   +-- nan@2.10.0
261 silly saveTree | |   +-- prebuild-install@2.5.3
261 silly saveTree | |   | +-- detect-libc@1.0.3
261 silly saveTree | |   | +-- expand-template@1.1.1
261 silly saveTree | |   | +-- github-from-package@0.0.0
261 silly saveTree | |   | +-- minimist@1.2.0
261 silly saveTree | |   | +-- mkdirp@0.5.1
261 silly saveTree | |   | | `-- minimist@0.0.8
261 silly saveTree | |   | +-- node-abi@2.4.1
261 silly saveTree | |   | | `-- semver@5.5.0
261 silly saveTree | |   | +-- noop-logger@0.1.1
261 silly saveTree | |   | +-- npmlog@4.1.2
261 silly saveTree | |   | | +-- are-we-there-yet@1.1.5
261 silly saveTree | |   | | | +-- delegates@1.0.0
261 silly saveTree | |   | | | `-- readable-stream@2.3.6
261 silly saveTree | |   | | |   +-- core-util-is@1.0.2
261 silly saveTree | |   | | |   +-- inherits@2.0.3
261 silly saveTree | |   | | |   +-- isarray@1.0.0
261 silly saveTree | |   | | |   +-- process-nextick-args@2.0.0
261 silly saveTree | |   | | |   +-- safe-buffer@5.1.1
261 silly saveTree | |   | | |   +-- string_decoder@1.1.1
261 silly saveTree | |   | | |   `-- util-deprecate@1.0.2
261 silly saveTree | |   | | +-- console-control-strings@1.1.0
261 silly saveTree | |   | | +-- gauge@2.7.4
261 silly saveTree | |   | | | +-- aproba@1.2.0
261 silly saveTree | |   | | | +-- has-unicode@2.0.1
261 silly saveTree | |   | | | +-- object-assign@4.1.1
261 silly saveTree | |   | | | +-- signal-exit@3.0.2
261 silly saveTree | |   | | | +-- string-width@1.0.2
261 silly saveTree | |   | | | | +-- code-point-at@1.1.0
261 silly saveTree | |   | | | | +-- is-fullwidth-code-point@1.0.0
261 silly saveTree | |   | | | | | `-- number-is-nan@1.0.1
261 silly saveTree | |   | | | | `-- strip-ansi@3.0.1
261 silly saveTree | |   | | | |   `-- ansi-regex@2.1.1
261 silly saveTree | |   | | | +-- strip-ansi@3.0.1
261 silly saveTree | |   | | | `-- wide-align@1.1.3
261 silly saveTree | |   | | `-- set-blocking@2.0.0
261 silly saveTree | |   | +-- os-homedir@1.0.2
261 silly saveTree | |   | +-- pump@2.0.1
261 silly saveTree | |   | | +-- end-of-stream@1.4.1
261 silly saveTree | |   | | | `-- once@1.4.0
261 silly saveTree | |   | | |   `-- wrappy@1.0.2
261 silly saveTree | |   | | `-- once@1.4.0
261 silly saveTree | |   | +-- rc@1.2.8
261 silly saveTree | |   | | +-- deep-extend@0.6.0
261 silly saveTree | |   | | +-- ini@1.3.5
261 silly saveTree | |   | | `-- strip-json-comments@2.0.1
261 silly saveTree | |   | +-- simple-get@2.8.1
261 silly saveTree | |   | | +-- decompress-response@3.3.0
261 silly saveTree | |   | | | `-- mimic-response@1.0.0
261 silly saveTree | |   | | `-- simple-concat@1.0.0
261 silly saveTree | |   | +-- tar-fs@1.16.3
261 silly saveTree | |   | | +-- chownr@1.0.1
261 silly saveTree | |   | | +-- pump@1.0.3
261 silly saveTree | |   | | `-- tar-stream@1.6.1
261 silly saveTree | |   | |   +-- bl@1.2.2
261 silly saveTree | |   | |   +-- buffer-alloc@1.2.0
261 silly saveTree | |   | |   | +-- buffer-alloc-unsafe@1.1.0
261 silly saveTree | |   | |   | `-- buffer-fill@1.0.0
261 silly saveTree | |   | |   +-- fs-constants@1.0.0
261 silly saveTree | |   | |   +-- to-buffer@1.1.1
261 silly saveTree | |   | |   `-- xtend@4.0.1
261 silly saveTree | |   | +-- tunnel-agent@0.6.0
261 silly saveTree | |   | `-- which-pm-runs@1.0.0
261 silly saveTree | |   +-- promirepl@1.0.1
261 silly saveTree | |   +-- prompt-list@3.2.0
261 silly saveTree | |   | +-- ansi-cyan@0.1.1
261 silly saveTree | |   | | `-- ansi-wrap@0.1.0
261 silly saveTree | |   | +-- ansi-dim@0.1.1
261 silly saveTree | |   | `-- prompt-radio@1.2.1
261 silly saveTree | |   |   +-- debug@2.6.9
261 silly saveTree | |   |   `-- prompt-checkbox@2.2.0
261 silly saveTree | |   `-- safe-buffer@5.1.1
261 silly saveTree | +-- johnny-five@0.13.1
261 silly saveTree | | `-- serialport@6.2.0
261 silly saveTree | +-- lodash@4.17.10
261 silly saveTree | +-- mqtt-serial@0.6.0
261 silly saveTree | +-- mqtt@2.18.1
261 silly saveTree | +-- node-led@0.3.1
261 silly saveTree | +-- serialport@6.2.0
261 silly saveTree | +-- socket.io-serial@0.4.0
261 silly saveTree | `-- udp-serial@0.2.0
261 silly saveTree `-- node-red-contrib-web-worldmap@1.2.4
261 silly saveTree   +-- cgi@0.3.1
261 silly saveTree   | +-- extend@2.0.1
261 silly saveTree   | +-- header-stack@0.0.2
261 silly saveTree   | | +-- bufferjs@3.0.1
261 silly saveTree   | | +-- bufferlist@0.1.0
261 silly saveTree   | | `-- stream-stack@1.1.4
261 silly saveTree   | `-- stream-stack@1.1.4
261 silly saveTree   +-- express@4.16.3
261 silly saveTree   | +-- accepts@1.3.5
261 silly saveTree   | | +-- mime-types@2.1.18
261 silly saveTree   | | | `-- mime-db@1.33.0
261 silly saveTree   | | `-- negotiator@0.6.1
261 silly saveTree   | +-- array-flatten@1.1.1
261 silly saveTree   | +-- body-parser@1.18.2
261 silly saveTree   | | +-- bytes@3.0.0
261 silly saveTree   | | +-- content-type@1.0.4
261 silly saveTree   | | +-- depd@1.1.2
261 silly saveTree   | | +-- http-errors@1.6.3
261 silly saveTree   | | | +-- setprototypeof@1.1.0
261 silly saveTree   | | | `-- statuses@1.4.0
261 silly saveTree   | | +-- iconv-lite@0.4.19
261 silly saveTree   | | +-- on-finished@2.3.0
261 silly saveTree   | | | `-- ee-first@1.1.1
261 silly saveTree   | | +-- qs@6.5.1
261 silly saveTree   | | +-- raw-body@2.3.2
261 silly saveTree   | | | +-- http-errors@1.6.2
261 silly saveTree   | | | | +-- depd@1.1.1
261 silly saveTree   | | | | `-- setprototypeof@1.0.3
261 silly saveTree   | | | `-- unpipe@1.0.0
261 silly saveTree   | | `-- type-is@1.6.16
261 silly saveTree   | |   `-- media-typer@0.3.0
261 silly saveTree   | +-- content-disposition@0.5.2
261 silly saveTree   | +-- content-type@1.0.4
261 silly saveTree   | +-- cookie-signature@1.0.6
261 silly saveTree   | +-- cookie@0.3.1
261 silly saveTree   | +-- depd@1.1.2
261 silly saveTree   | +-- encodeurl@1.0.2
261 silly saveTree   | +-- escape-html@1.0.3
261 silly saveTree   | +-- etag@1.8.1
261 silly saveTree   | +-- finalhandler@1.1.1
261 silly saveTree   | | `-- parseurl@1.3.2
261 silly saveTree   | +-- fresh@0.5.2
261 silly saveTree   | +-- merge-descriptors@1.0.1
261 silly saveTree   | +-- methods@1.1.2
261 silly saveTree   | +-- on-finished@2.3.0
261 silly saveTree   | +-- parseurl@1.3.2
261 silly saveTree   | +-- path-to-regexp@0.1.7
261 silly saveTree   | +-- proxy-addr@2.0.3
261 silly saveTree   | | +-- forwarded@0.1.2
261 silly saveTree   | | `-- ipaddr.js@1.6.0
261 silly saveTree   | +-- qs@6.5.1
261 silly saveTree   | +-- range-parser@1.2.0
261 silly saveTree   | +-- send@0.16.2
261 silly saveTree   | | +-- destroy@1.0.4
261 silly saveTree   | | `-- mime@1.4.1
261 silly saveTree   | +-- serve-static@1.13.2
261 silly saveTree   | +-- setprototypeof@1.1.0
261 silly saveTree   | +-- statuses@1.4.0
261 silly saveTree   | +-- type-is@1.6.16
261 silly saveTree   | +-- utils-merge@1.0.1
261 silly saveTree   | `-- vary@1.1.2
261 silly saveTree   `-- sockjs@0.3.19
261 silly saveTree     +-- faye-websocket@0.10.0
261 silly saveTree     | `-- websocket-driver@0.7.0
261 silly saveTree     |   +-- http-parser-js@0.4.13
261 silly saveTree     |   `-- websocket-extensions@0.1.3
261 silly saveTree     `-- uuid@3.2.1
262 verbose stack SyntaxError: Unexpected end of JSON input while parsing near '...c-extend":"^0.1.2"},"'
262 verbose stack     at JSON.parse (<anonymous>)
262 verbose stack     at parseJson (/usr/lib/node_modules/npm/node_modules/json-parse-better-errors/index.js:7:17)
262 verbose stack     at consumeBody.call.then.buffer (/usr/lib/node_modules/npm/node_modules/pacote/node_modules/make-fetch-happen/node_modules/node-fetch-npm/src/body.js:96:50)
262 verbose stack     at <anonymous>
262 verbose stack     at process._tickCallback (internal/process/next_tick.js:188:7)
263 verbose cwd /home/pi/.signalk/red
264 verbose Linux 4.14.34-v7+
265 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "node-red-contrib-gpio"
266 verbose node v8.11.2
267 verbose npm  v6.1.0
268 error Unexpected end of JSON input while parsing near '...c-extend":"^0.1.2"},"'
269 verbose exit [ 1, true ]