Took me a while to get back to the boat and remember to save the output.
This is a segment from the server log:
Jul 06 17:34:27 stderr: npm ERR! code ENOTEMPTY npm ERR! syscall rename
Jul 06 17:34:27 stderr: npm ERR! path /home/pi/.signalk/node_modules/asynckit npm ERR! dest /home/pi/.signalk/node_modules/.asynckit-TsXKFJe2 npm ERR! errno -39
Jul 06 17:34:27 stderr: npm ERR! ENOTEMPTY: directory not empty, rename '/home/pi/.signalk/node_modules/asynckit' -> '/home/pi/.signalk/node_modules/.asynckit-TsXKFJe2'
Jul 06 17:34:27 stderr:
Jul 06 17:34:27 stderr: npm
Jul 06 17:34:27 stderr:
Jul 06 17:34:27 stderr: ERR!
Jul 06 17:34:27 stderr: A complete log of this run can be found in: /home/pi/.npm/_logs/2024-07-06T16_34_13_474Z-debug-0.log
Jul 06 17:34:33 stderr: npm
Jul 06 17:34:33 stderr: ERR!
Jul 06 17:34:33 stderr: code ENOTEMPTY
Jul 06 17:34:33 stderr: npm ERR! syscall rename
Jul 06 17:34:33 stderr: npm
Jul 06 17:34:33 stderr: ERR!
Jul 06 17:34:33 stderr: path /home/pi/.signalk/node_modules/asynckit npm
Jul 06 17:34:33 stderr: ERR! dest /home/pi/.signalk/node_modules/.asynckit-TsXKFJe2
Jul 06 17:34:33 stderr: npm ERR! errno -39
Jul 06 17:34:33 stderr: npm ERR! ENOTEMPTY: directory not empty, rename '/home/pi/.signalk/node_modules/asynckit' -> '/home/pi/.signalk/node_modules/.asynckit-TsXKFJe2'
Jul 06 17:34:33 stderr:
Jul 06 17:34:33 stderr: npm ERR! A complete log of this run can be found in: /home/pi/.npm/_logs/2024-07-06T16_34_29_644Z-debug-0.log
Jul 06 17:34:39 stderr: npm
Jul 06 17:34:39 stderr: ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /home/pi/.signalk/node_modules/asynckit npm ERR! dest /home/pi/.signalk/node_modules/.asynckit-TsXKFJe2 npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/home/pi/.signalk/node_modules/asynckit' -> '/home/pi/.signalk/node_modules/.asynckit-TsXKFJe2' npm ERR! A complete log of this run can be found in: /home/pi/.npm/_logs/2024-07-06T16_34_35_303Z-debug-0.log
And this is the content from the log itself:
0 verbose cli /usr/bin/node /usr/bin/npm
1 info using npm@9.6.7
2 info using node@v18.17.1
3 timing npm:load:whichnode Completed in 9ms
4 timing config:load:defaults Completed in 12ms
5 timing config:load:file:/usr/lib/node_modules/npm/npmrc Completed in 3ms
6 timing config:load:builtin Completed in 5ms
7 timing config:load:cli Completed in 15ms
8 timing config:load:env Completed in 2ms
9 timing config:load:file:/home/pi/.signalk/.npmrc Completed in 7ms
10 timing config:load:project Completed in 22ms
11 timing config:load:file:/home/pi/.npmrc Completed in 1ms
12 timing config:load:user Completed in 2ms
13 timing config:load:file:/usr/etc/npmrc Completed in 1ms
14 timing config:load:global Completed in 2ms
15 timing config:load
etEnvs Completed in 6ms
16 timing config:load Completed in 69ms
17 timing npm:load:configload Completed in 69ms
18 timing npm:load:mkdirpcache Completed in 2ms
19 timing npm:load:mkdirplogs Completed in 2ms
20 verbose title npm install @mxtommy/kip@2.12.0
21 verbose argv "--save" "install" "@mxtommy/kip@2.12.0"
22 timing npm:load
etTitle Completed in 7ms
23 timing config:load:flatten Completed in 16ms
24 timing npm:load:display Completed in 20ms
25 verbose logfile logs-max:10 dir:/home/pi/.npm/_logs/2024-07-06T16_34_47_396Z-
26 verbose logfile /home/pi/.npm/_logs/2024-07-06T16_34_47_396Z-debug-0.log
27 timing npm:load:logFile Completed in 57ms
28 timing npm:load:timers Completed in 1ms
29 timing npm:load:configScope Completed in 0ms
30 timing npm:load Completed in 171ms
31 timing arborist:ctor Completed in 5ms
32 silly logfile start cleaning logs, removing 1 files
33 timing idealTree:init Completed in 80ms
34 timing idealTree:userRequests Completed in 20ms
35 silly idealTree buildDeps
36 silly fetch manifest @mxtommy/kip@2.12.0
37 silly logfile done cleaning log files
38 verbose shrinkwrap failed to load node_modules/.package-lock.json out of date, updated: node_modules
39 http fetch GET 200
https://registry.npmjs.org/@mxtommy%2fkip 149ms (cache hit)
40 silly fetch manifest @signalk/course-provider@^1.0.1
41 http fetch GET 200
https://registry.npmjs.org/@signalk%2fcourse-provider 123ms (cache hit)
42 silly fetch manifest @signalk/freeboard-sk@^2.6.1
43 http fetch GET 200
https://registry.npmjs.org/@signalk%2ffreeboard-sk 21ms (cache hit)
44 silly fetch manifest @signalk/resources-provider@^1.1.2
45 http fetch GET 200
https://registry.npmjs.org/@signalk%2fre...s-provider 18ms (cache hit)
46 silly fetch manifest @signalk/signalk-to-nmea0183@^1.11.0
47 http fetch GET 200
https://registry.npmjs.org/@signalk%2fsi...o-nmea0183 29ms (cache hit)
48 silly fetch manifest signalk-to-nmea2000@^2.17.1
49 http fetch GET 200
https://registry.npmjs.org/signalk-to-nmea2000 29ms (cache hit)
50 silly fetch manifest signalk-victron-ble@^0.0.6
51 http fetch GET 200
https://registry.npmjs.org/signalk-victron-ble 21ms (cache hit)
52 silly fetch manifest signalk-webhook-publisher@^0.2.3
53 http fetch GET 200
https://registry.npmjs.org/signalk-webhook-publisher 20ms (cache hit)
54 silly placeDep ROOT @mxtommy/kip@2.12.0 OK for: signalk-server-config@0.0.1 want: 2.12.0
55 silly placeDep ROOT @signalk/course-provider@1.0.3 OK for: signalk-server-config@0.0.1 want: ^1.0.1
56 silly fetch manifest rxjs@^7.5.2
57 silly placeDep ROOT @signalk/freeboard-sk@2.9.0 OK for: signalk-server-config@0.0.1 want: ^2.6.1
58 silly fetch manifest @signalk/server-api@^2.3.0
59 silly fetch manifest socket.io-client@^4.6.0
60 silly fetch manifest tslib@^2.0.0
61 silly placeDep ROOT @signalk/resources-provider@1.1.2 OK for: signalk-server-config@0.0.1 want: ^1.1.2
62 silly fetch manifest geojson-validation@^0.2.0
63 silly fetch manifest geolib@^3.3.3
64 silly fetch manifest ngeohash@^0.6.3
65 silly placeDep ROOT @signalk/signalk-to-nmea0183@1.11.0 OK for: signalk-server-config@0.0.1 want: ^1.11.0
66 silly fetch manifest baconjs@^0.7.88
67 silly placeDep ROOT signalk-to-nmea2000@2.17.1 OK for: signalk-server-config@0.0.1 want: ^2.17.1
68 silly fetch manifest lodash@^4.17.4
69 silly placeDep ROOT signalk-victron-ble@0.0.6 OK for: signalk-server-config@0.0.1 want: ^0.0.6
70 silly placeDep ROOT signalk-webhook-publisher@0.2.3 OK for: signalk-server-config@0.0.1 want: ^0.2.3
71 silly fetch manifest axios@^1.4.0
72 http fetch GET 200
https://registry.npmjs.org/rxjs 240ms (cache hit)
73 http fetch GET 200
https://registry.npmjs.org/@signalk%2fserver-api 259ms (cache hit)
74 http fetch GET 200
https://registry.npmjs.org/socket.io-client 258ms (cache hit)
75 http fetch GET 200
https://registry.npmjs.org/tslib 287ms (cache hit)
76 http fetch GET 200
https://registry.npmjs.org/geojson-validation 279ms (cache hit)
77 http fetch GET 200
https://registry.npmjs.org/geolib 279ms (cache hit)
78 http fetch GET 200
https://registry.npmjs.org/ngeohash 279ms (cache hit)
79 http fetch GET 200
https://registry.npmjs.org/baconjs 275ms (cache hit)
80 http fetch GET 200
https://registry.npmjs.org/lodash 283ms (cache hit)
81 http fetch GET 200
https://registry.npmjs.org/axios 271ms (cache hit)
82 timing idealTree:#root Completed in 963ms
83 timing idealTree:node_modules/@mxtommy/kip Completed in 0ms
84 silly placeDep ROOT rxjs@7.8.1 OK for: @signalk/course-provider@1.0.3 want: ^7.5.2
85 silly fetch manifest tslib@^2.1.0
86 timing idealTree:node_modules/@signalk/course-provider Completed in 15ms
87 silly fetch manifest baconjs@^1.0.1
88 silly placeDep ROOT @signalk/server-api@2.4.0 OK for: @signalk/freeboard-sk@2.9.0 want: ^2.3.0
89 silly placeDep ROOT baconjs@1.0.1 OK for: @signalk/server-api@2.4.0 want: ^1.0.1
90 silly placeDep ROOT socket.io-client@4.7.5 OK for: @signalk/freeboard-sk@2.9.0 want: ^4.6.0
91 silly fetch manifest @socket.io/component-emitter@~3.1.0
92 silly fetch manifest debug@~4.3.2
93 silly fetch manifest engine.io-client@~6.5.2
94 silly fetch manifest socket.io-parser@~4.2.4
95 silly placeDep ROOT tslib@2.6.3 OK for: @signalk/freeboard-sk@2.9.0 want: ^2.0.0
96 http fetch GET 200
https://registry.npmjs.org/@socket.io%2f...nt-emitter 71ms (cache hit)
97 http fetch GET 200
https://registry.npmjs.org/debug 70ms (cache hit)
98 http fetch GET 200
https://registry.npmjs.org/engine.io-client 74ms (cache hit)
99 http fetch GET 200
https://registry.npmjs.org/socket.io-parser 86ms (cache hit)
100 timing idealTree:node_modules/@signalk/freeboard-sk Completed in 171ms
101 silly placeDep ROOT geojson-validation@0.2.1 OK for: @signalk/resources-provider@1.1.2 want: ^0.2.0
102 silly placeDep ROOT geolib@3.3.4 OK for: @signalk/resources-provider@1.1.2 want: ^3.3.3
103 silly placeDep ROOT ngeohash@0.6.3 OK for: @signalk/resources-provider@1.1.2 want: ^0.6.3
104 timing idealTree:node_modules/@signalk/resources-provider Completed in 34ms
105 timing idealTree:node_modules/@signalk/server-api Completed in 0ms
106 silly placeDep node_modules/@signalk/signalk-to-nmea0183 baconjs@0.7.95 OK for: @signalk/signalk-to-nmea0183@1.11.0 want: ^0.7.88
107 timing idealTree:node_modules/@signalk/signalk-to-nmea0183 Completed in 19ms
108 timing idealTree:node_modules/baconjs Completed in 0ms
109 timing idealTree:node_modules/geojson-validation Completed in 0ms
110 timing idealTree:node_modules/geolib Completed in 0ms
111 timing idealTree:node_modules/ngeohash Completed in 0ms
112 timing idealTree:node_modules/rxjs Completed in 0ms
113 silly placeDep node_modules/signalk-to-nmea2000 baconjs@0.7.95 OK for: signalk-to-nmea2000@2.17.1 want: ^0.7.88
114 silly placeDep ROOT lodash@4.17.21 OK for: signalk-to-nmea2000@2.17.1 want: ^4.17.4
115 timing idealTree:node_modules/signalk-to-nmea2000 Completed in 38ms
116 timing idealTree:node_modules/lodash Completed in 0ms
117 timing idealTree:node_modules/signalk-victron-ble Completed in 0ms
118 silly placeDep ROOT axios@1.7.2 OK for: signalk-webhook-publisher@0.2.3 want: ^1.4.0
119 silly fetch manifest follow-redirects@^1.15.6
120 silly fetch manifest form-data@^4.0.0
121 silly fetch manifest proxy-from-env@^1.1.0
122 http fetch GET 200
https://registry.npmjs.org/follow-redirects 45ms (cache hit)
123 http fetch GET 200
https://registry.npmjs.org/form-data 45ms (cache hit)
124 http fetch GET 200
https://registry.npmjs.org/proxy-from-env 44ms (cache hit)
125 timing idealTree:node_modules/signalk-webhook-publisher Completed in 71ms
126 silly placeDep ROOT follow-redirects@1.15.6 OK for: axios@1.7.2 want: ^1.15.6
127 silly placeDep ROOT form-data@4.0.0 OK for: axios@1.7.2 want: ^4.0.0
128 silly fetch manifest asynckit@^0.4.0
129 silly fetch manifest combined-stream@^1.0.8
130 silly fetch manifest mime-types@^2.1.12
131 silly placeDep ROOT proxy-from-env@1.1.0 OK for: axios@1.7.2 want: ^1.1.0
132 http fetch GET 200
https://registry.npmjs.org/asynckit 77ms (cache hit)
133 http fetch GET 200
https://registry.npmjs.org/combined-stream 78ms (cache hit)
134 http fetch GET 200
https://registry.npmjs.org/mime-types 77ms (cache hit)
135 timing idealTree:node_modules/axios Completed in 111ms
136 timing idealTree:node_modules/follow-redirects Completed in 0ms
137 silly placeDep ROOT asynckit@0.4.0 OK for: form-data@4.0.0 want: ^0.4.0
138 silly placeDep ROOT combined-stream@1.0.8 OK for: form-data@4.0.0 want: ^1.0.8
139 silly fetch manifest delayed-stream@~1.0.0
140 silly placeDep ROOT mime-types@2.1.35 OK for: form-data@4.0.0 want: ^2.1.12
141 silly fetch manifest mime-db@1.52.0
142 http fetch GET 200
https://registry.npmjs.org/delayed-stream 39ms (cache hit)
143 http fetch GET 200
https://registry.npmjs.org/mime-db 28ms (cache hit)
144 timing idealTree:node_modules/form-data Completed in 74ms
145 timing idealTree:node_modules/asynckit Completed in 0ms
146 silly placeDep ROOT delayed-stream@1.0.0 OK for: combined-stream@1.0.8 want: ~1.0.0
147 timing idealTree:node_modules/combined-stream Completed in 10ms
148 timing idealTree:node_modules/delayed-stream Completed in 0ms
149 silly placeDep ROOT mime-db@1.52.0 OK for: mime-types@2.1.35 want: 1.52.0
150 timing idealTree:node_modules/mime-types Completed in 8ms
151 timing idealTree:node_modules/mime-db Completed in 0ms
152 timing idealTree:node_modules/proxy-from-env Completed in 0ms
153 silly placeDep ROOT @socket.io/component-emitter@3.1.2 OK for: socket.io-client@4.7.5 want: ~3.1.0
154 silly placeDep ROOT debug@4.3.5 OK for: socket.io-client@4.7.5 want: ~4.3.2
155 silly fetch manifest ms@2.1.2
156 silly placeDep ROOT engine.io-client@6.5.4 OK for: socket.io-client@4.7.5 want: ~6.5.2
157 silly fetch manifest ws@~8.17.1
158 silly fetch manifest engine.io-parser@~5.2.1
159 silly fetch manifest xmlhttprequest-ssl@~2.0.0
160 silly placeDep ROOT socket.io-parser@4.2.4 OK for: socket.io-client@4.7.5 want: ~4.2.4
161 http fetch GET 200
https://registry.npmjs.org/ms 80ms (cache hit)
162 http fetch GET 200
https://registry.npmjs.org/ws 70ms (cache hit)
163 http fetch GET 200
https://registry.npmjs.org/engine.io-parser 81ms (cache hit)
164 http fetch GET 200
https://registry.npmjs.org/xmlhttprequest-ssl 81ms (cache hit)
165 timing idealTree:node_modules/socket.io-client Completed in 156ms
166 timing idealTree:node_modules/@socket.io/component-emitter Completed in 0ms
167 silly placeDep ROOT ms@2.1.2 OK for: debug@4.3.5 want: 2.1.2
168 timing idealTree:node_modules/debug Completed in 8ms
169 silly fetch manifest bufferutil@^4.0.1
170 http fetch GET 200
https://registry.npmjs.org/bufferutil 15ms (cache hit)
171 silly fetch manifest utf-8-validate@>=5.0.2
172 http fetch GET 200
https://registry.npmjs.org/utf-8-validate 16ms (cache hit)
173 silly placeDep ROOT engine.io-parser@5.2.2 OK for: engine.io-client@6.5.4 want: ~5.2.1
174 silly placeDep ROOT ws@8.17.1 OK for: engine.io-client@6.5.4 want: ~8.17.1
175 silly placeDep ROOT xmlhttprequest-ssl@2.0.0 OK for: engine.io-client@6.5.4 want: ~2.0.0
176 timing idealTree:node_modules/engine.io-client Completed in 85ms
177 timing idealTree:node_modules/engine.io-parser Completed in 1ms
178 timing idealTree:node_modules/ms Completed in 0ms
179 timing idealTree:node_modules/socket.io-parser Completed in 0ms
180 timing idealTree:node_modules/tslib Completed in 0ms
181 timing idealTree:node_modules/ws Completed in 0ms
182 timing idealTree:node_modules/xmlhttprequest-ssl Completed in 0ms
183 timing idealTree:node_modules/@signalk/signalk-to-nmea0183/node_modules/baconjs Completed in 0ms
184 timing idealTree:node_modules/signalk-to-nmea2000/node_modules/baconjs Completed in 0ms
185 timing idealTree:buildDeps Completed in 1796ms
186 timing idealTree:fixDepFlags Completed in 3ms
187 timing idealTree Completed in 1915ms
188 timing reify:loadTrees Completed in 1920ms
189 timing reify:diffTrees Completed in 17ms
190 silly reify mark retired [ '/home/pi/.signalk/node_modules/asynckit' ]
191 silly reify mark retired [ '/home/pi/.signalk/node_modules/axios' ]
192 silly reify mark retired [ '/home/pi/.signalk/node_modules/baconjs' ]
193 silly reify mark retired [ '/home/pi/.signalk/node_modules/combined-stream' ]
194 silly reify mark retired [ '/home/pi/.signalk/node_modules/debug' ]
195 silly reify mark retired [ '/home/pi/.signalk/node_modules/delayed-stream' ]
196 silly reify mark retired [ '/home/pi/.signalk/node_modules/engine.io-client' ]
197 silly reify mark retired [ '/home/pi/.signalk/node_modules/engine.io-parser' ]
198 silly reify mark retired [ '/home/pi/.signalk/node_modules/follow-redirects' ]
199 silly reify mark retired [ '/home/pi/.signalk/node_modules/form-data' ]
200 silly reify mark retired [
200 silly reify '/home/pi/.signalk/node_modules/geojson-validation',
200 silly reify '/home/pi/.signalk/node_modules/.bin/gjv'
200 silly reify ]
201 silly reify mark retired [ '/home/pi/.signalk/node_modules/geolib' ]
202 silly reify mark retired [ '/home/pi/.signalk/node_modules/mime-db' ]
203 silly reify mark retired [ '/home/pi/.signalk/node_modules/mime-types' ]
204 silly reify mark retired [ '/home/pi/.signalk/node_modules/ms' ]
205 silly reify mark retired [ '/home/pi/.signalk/node_modules/msp-webhook' ]
206 silly reify mark retired [ '/home/pi/.signalk/node_modules/ngeohash' ]
207 silly reify mark retired [ '/home/pi/.signalk/node_modules/proxy-from-env' ]
208 silly reify mark retired [ '/home/pi/.signalk/node_modules/rxjs' ]
209 silly reify mark retired [ '/home/pi/.signalk/node_modules/signalk-to-nmea2000' ]
210 silly reify mark retired [ '/home/pi/.signalk/node_modules/signalk-victron-ble' ]
211 silly reify mark retired [ '/home/pi/.signalk/node_modules/signalk-webhook-publisher' ]
212 silly reify mark retired [ '/home/pi/.signalk/node_modules/socket.io-client' ]
213 silly reify mark retired [ '/home/pi/.signalk/node_modules/socket.io-parser' ]
214 silly reify mark retired [ '/home/pi/.signalk/node_modules/tslib' ]
215 silly reify mark retired [ '/home/pi/.signalk/node_modules/ws' ]
216 silly reify mark retired [ '/home/pi/.signalk/node_modules/xmlhttprequest-ssl' ]
217 silly reify mark retired [ '/home/pi/.signalk/node_modules/@mxtommy/kip' ]
218 silly reify mark retired [ '/home/pi/.signalk/node_modules/@signalk/course-provider' ]
219 silly reify mark retired [ '/home/pi/.signalk/node_modules/@signalk/freeboard-sk' ]
220 silly reify mark retired [ '/home/pi/.signalk/node_modules/@signalk/resources-provider' ]
221 silly reify mark retired [ '/home/pi/.signalk/node_modules/@signalk/server-api' ]
222 silly reify mark retired [ '/home/pi/.signalk/node_modules/@signalk/signalk-to-nmea0183' ]
223 silly reify mark retired [ '/home/pi/.signalk/node_modules/@socket.io/component-emitter' ]
224 silly reify moves {
224 silly reify '/home/pi/.signalk/node_modules/asynckit': '/home/pi/.signalk/node_modules/.asynckit-TsXKFJe2',
224 silly reify '/home/pi/.signalk/node_modules/axios': '/home/pi/.signalk/node_modules/.axios-3zR41HHB',
224 silly reify '/home/pi/.signalk/node_modules/baconjs': '/home/pi/.signalk/node_modules/.baconjs-7gLjYXP9',
224 silly reify '/home/pi/.signalk/node_modules/combined-stream': '/home/pi/.signalk/node_modules/.combined-stream-szPpqJFg',
224 silly reify '/home/pi/.signalk/node_modules/debug': '/home/pi/.signalk/node_modules/.debug-omGdeWKz',
224 silly reify '/home/pi/.signalk/node_modules/delayed-stream': '/home/pi/.signalk/node_modules/.delayed-stream-gHWP5yu0',
224 silly reify '/home/pi/.signalk/node_modules/engine.io-client': '/home/pi/.signalk/node_modules/.engine.io-client-SucIPfVb',
224 silly reify '/home/pi/.signalk/node_modules/engine.io-parser': '/home/pi/.signalk/node_modules/.engine.io-parser-cIDf2kbr',
224 silly reify '/home/pi/.signalk/node_modules/follow-redirects': '/home/pi/.signalk/node_modules/.follow-redirects-IcdXDKWA',
224 silly reify '/home/pi/.signalk/node_modules/form-data': '/home/pi/.signalk/node_modules/.form-data-vLslb6PQ',
224 silly reify '/home/pi/.signalk/node_modules/geojson-validation': '/home/pi/.signalk/node_modules/.geojson-validation-qTE8MIuM',
224 silly reify '/home/pi/.signalk/node_modules/.bin/gjv': '/home/pi/.signalk/node_modules/.bin/.gjv-eVKNXru4',
224 silly reify '/home/pi/.signalk/node_modules/geolib': '/home/pi/.signalk/node_modules/.geolib-LVaTfhUi',
224 silly reify '/home/pi/.signalk/node_modules/mime-db': '/home/pi/.signalk/node_modules/.mime-db-QogjnHMn',
224 silly reify '/home/pi/.signalk/node_modules/mime-types': '/home/pi/.signalk/node_modules/.mime-types-EGLwPu6h',
224 silly reify '/home/pi/.signalk/node_modules/ms': '/home/pi/.signalk/node_modules/.ms-iYAnGzRS',
224 silly reify '/home/pi/.signalk/node_modules/msp-webhook': '/home/pi/.signalk/node_modules/.msp-webhook-E6CDRLBy',
224 silly reify '/home/pi/.signalk/node_modules/ngeohash': '/home/pi/.signalk/node_modules/.ngeohash-q0N83VSY',
224 silly reify '/home/pi/.signalk/node_modules/proxy-from-env': '/home/pi/.signalk/node_modules/.proxy-from-env-4BbXlWA9',
224 silly reify '/home/pi/.signalk/node_modules/rxjs': '/home/pi/.signalk/node_modules/.rxjs-6tLXIcYe',
224 silly reify '/home/pi/.signalk/node_modules/signalk-to-nmea2000': '/home/pi/.signalk/node_modules/.signalk-to-nmea2000-Lw9yGuyE',
224 silly reify '/home/pi/.signalk/node_modules/signalk-victron-ble': '/home/pi/.signalk/node_modules/.signalk-victron-ble-ZKtxYZOv',
224 silly reify '/home/pi/.signalk/node_modules/signalk-webhook-publisher': '/home/pi/.signalk/node_modules/.signalk-webhook-publisher-2mk2HhQG',
224 silly reify '/home/pi/.signalk/node_modules/socket.io-client': '/home/pi/.signalk/node_modules/.socket.io-client-5zj04aZy',
224 silly reify '/home/pi/.signalk/node_modules/socket.io-parser': '/home/pi/.signalk/node_modules/.socket.io-parser-Q53Y2dAo',
224 silly reify '/home/pi/.signalk/node_modules/tslib': '/home/pi/.signalk/node_modules/.tslib-Pf6VpW60',
224 silly reify '/home/pi/.signalk/node_modules/ws': '/home/pi/.signalk/node_modules/.ws-6axIgrCD',
224 silly reify '/home/pi/.signalk/node_modules/xmlhttprequest-ssl': '/home/pi/.signalk/node_modules/.xmlhttprequest-ssl-iGcf1B17',
224 silly reify '/home/pi/.signalk/node_modules/@mxtommy/kip': '/home/pi/.signalk/node_modules/@mxtommy/.kip-9cfUryQt',
224 silly reify '/home/pi/.signalk/node_modules/@signalk/course-provider': '/home/pi/.signalk/node_modules/@signalk/.course-provider-UFsYABqh',
224 silly reify '/home/pi/.signalk/node_modules/@signalk/freeboard-sk': '/home/pi/.signalk/node_modules/@signalk/.freeboard-sk-YkaBlCLg',
224 silly reify '/home/pi/.signalk/node_modules/@signalk/resources-provider': '/home/pi/.signalk/node_modules/@signalk/.resources-provider-ZC7ufarp',
224 silly reify '/home/pi/.signalk/node_modules/@signalk/server-api': '/home/pi/.signalk/node_modules/@signalk/.server-api-pDtAYwsN',
224 silly reify '/home/pi/.signalk/node_modules/@signalk/signalk-to-nmea0183': '/home/pi/.signalk/node_modules/@signalk/.signalk-to-nmea0183-5losMoG8',
224 silly reify '/home/pi/.signalk/node_modules/@socket.io/component-emitter': '/home/pi/.signalk/node_modules/@socket.io/.component-emitter-ObmWMcnf'
224 silly reify }
225 timing reify:rollback:retireShallow Completed in 25ms
226 timing command:install Completed in 2132ms
227 verbose stack Error: ENOTEMPTY: directory not empty, rename '/home/pi/.signalk/node_modules/asynckit' -> '/home/pi/.signalk/node_modules/.asynckit-TsXKFJe2'
228 verbose cwd /home/pi/.signalk
229 verbose Linux 6.1.21-v8+
230 verbose node v18.17.1
231 verbose npm v9.6.7
232 error code ENOTEMPTY
233 error syscall rename
234 error path /home/pi/.signalk/node_modules/asynckit
235 error dest /home/pi/.signalk/node_modules/.asynckit-TsXKFJe2
236 error errno -39
237 error ENOTEMPTY: directory not empty, rename '/home/pi/.signalk/node_modules/asynckit' -> '/home/pi/.signalk/node_modules/.asynckit-TsXKFJe2'
Am I right in thinking that SignalK is falling over because the directory isn't empty? I would assume an update just overwrites the old files, or is it supposed to delete then re-install? Maybe this is a permissions thing? I'm not used to the Pi eco-system so a little lost how to troubleshoot.
Vessel: Helen Mary R - Bowman 57 - UK Sail Training - Installing Raspberry Pi Nav System