Node-Red-Arduino-Node

Hello everyone!

This is my first time on NodeRed and I've been carefully following the documentation on installing nodes etc. Additionally, when I was installing node-red itself, I opted to automatically install the additional packages (Python, Visual Studio, etc), which I'm assuming was successful since I see Python 3.10.2 installed on my machine (Windows 10). I then installed some other packages as well by using the Manage Palette option as many users suggested.

However, I cannot seem to install the Arduino node, and I really don't understand how I can fix this. Here is there entire log of the failed installation. Any help would be greatly appreciated!

0 verbose cli [
0 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
0 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
0 verbose cli   'install',
0 verbose cli   '--no-audit',
0 verbose cli   '--no-update-notifier',
0 verbose cli   '--no-fund',
0 verbose cli   '--save',
0 verbose cli   '--save-prefix=~',
0 verbose cli   '--production',
0 verbose cli   '--engine-strict',
0 verbose cli   'node-red-node-arduino@0.3.1'
0 verbose cli ]
1 info using npm@8.3.1
2 info using node@v16.14.0
3 timing npm:load:whichnode Completed in 0ms
4 timing config:load:defaults Completed in 2ms
5 timing config:load:file:C:\Program Files\nodejs\node_modules\npm\npmrc Completed in 9ms
6 timing config:load:builtin Completed in 10ms
7 verbose config production Use `--omit=dev` instead.
8 timing config:load:cli Completed in 3ms
9 timing config:load:env Completed in 1ms
10 timing config:load:file:C:\Users\rayan\.node-red\.npmrc Completed in 1ms
11 timing config:load:project Completed in 1ms
12 timing config:load:file:C:\Users\rayan\.npmrc Completed in 0ms
13 timing config:load:user Completed in 0ms
14 timing config:load:file:C:\Users\rayan\AppData\Roaming\npm\etc\npmrc Completed in 1ms
15 timing config:load:global Completed in 1ms
16 timing config:load:validate Completed in 0ms
17 timing config:load:credentials Completed in 1ms
18 timing config:load:setEnvs Completed in 1ms
19 timing config:load Completed in 20ms
20 timing npm:load:configload Completed in 20ms
21 timing npm:load:setTitle Completed in 0ms
22 timing config:load:flatten Completed in 5ms
23 timing npm:load:display Completed in 6ms
24 verbose logfile C:\Users\rayan\AppData\Local\npm-cache\_logs\2022-02-17T13_18_07_695Z-debug-0.log
25 timing npm:load:logFile Completed in 5ms
26 timing npm:load:timers Completed in 0ms
27 timing npm:load:configScope Completed in 0ms
28 timing npm:load Completed in 32ms
29 timing arborist:ctor Completed in 0ms
30 silly logfile start cleaning logs, removing 8 files
31 timing idealTree:init Completed in 71ms
32 timing idealTree:userRequests Completed in 2ms
33 silly idealTree buildDeps
34 silly fetch manifest node-red-node-arduino@0.3.1
35 verbose shrinkwrap failed to load node_modules/.package-lock.json out of date, updated: node_modules
36 http fetch GET 200 https://registry.npmjs.org/node-red-node-arduino 1061ms (cache revalidated)
37 silly placeDep ROOT node-red-node-arduino@0.3.1 OK for: node-red-project@0.0.1 want: 0.3.1
38 silly fetch manifest firmata@^2.0.0
39 http fetch GET 200 https://registry.npmjs.org/firmata 790ms (cache revalidated)
40 timing idealTree:#root Completed in 1862ms
41 silly placeDep ROOT firmata@2.3.0 OK for: node-red-node-arduino@0.3.1 want: ^2.0.0
42 silly fetch manifest firmata-io@^2.3.0
43 silly fetch manifest serialport@^8.0.5
44 http fetch GET 200 https://registry.npmjs.org/serialport 140ms (cache revalidated)
45 http fetch GET 200 https://registry.npmjs.org/firmata-io 846ms (cache revalidated)
46 timing idealTree:node_modules/node-red-node-arduino Completed in 853ms
47 silly placeDep ROOT firmata-io@2.3.0 OK for: firmata@2.3.0 want: ^2.3.0
48 silly placeDep node_modules/firmata serialport@8.0.8 OK for: firmata@2.3.0 want: ^8.0.5
49 silly fetch manifest @serialport/binding-mock@^8.0.6
50 silly fetch manifest @serialport/bindings@^8.0.8
51 silly fetch manifest @serialport/parser-byte-length@^8.0.6
52 silly fetch manifest @serialport/parser-cctalk@^8.0.6
53 silly fetch manifest @serialport/parser-delimiter@^8.0.6
54 silly fetch manifest @serialport/parser-readline@^8.0.6
55 silly fetch manifest @serialport/parser-ready@^8.0.6
56 silly fetch manifest @serialport/parser-regex@^8.0.6
57 silly fetch manifest @serialport/stream@^8.0.6
58 http fetch GET 200 https://registry.npmjs.org/@serialport%2fparser-delimiter 183ms (cache revalidated)
59 http fetch GET 200 https://registry.npmjs.org/@serialport%2fparser-byte-length 199ms (cache revalidated)
60 http fetch GET 200 https://registry.npmjs.org/@serialport%2fparser-cctalk 241ms (cache revalidated)
61 http fetch GET 200 https://registry.npmjs.org/@serialport%2fparser-ready 248ms (cache revalidated)
62 http fetch GET 200 https://registry.npmjs.org/@serialport%2fparser-regex 266ms (cache revalidated)
63 http fetch GET 200 https://registry.npmjs.org/@serialport%2fbindings 275ms (cache revalidated)
64 http fetch GET 200 https://registry.npmjs.org/@serialport%2fparser-readline 294ms (cache revalidated)
65 http fetch GET 200 https://registry.npmjs.org/@serialport%2fbinding-mock 301ms (cache revalidated)
66 http fetch GET 200 https://registry.npmjs.org/@serialport%2fstream 331ms (cache revalidated)
67 timing idealTree:node_modules/firmata Completed in 342ms
68 timing idealTree:node_modules/firmata-io Completed in 0ms
69 silly placeDep node_modules/firmata @serialport/binding-mock@8.0.6 OK for: serialport@8.0.8 want: ^8.0.6
70 silly placeDep node_modules/firmata @serialport/bindings@8.0.8 OK for: serialport@8.0.8 want: ^8.0.8
71 silly placeDep node_modules/firmata @serialport/parser-byte-length@8.0.6 OK for: serialport@8.0.8 want: ^8.0.6
72 silly placeDep node_modules/firmata @serialport/parser-cctalk@8.0.6 OK for: serialport@8.0.8 want: ^8.0.6
73 silly placeDep node_modules/firmata @serialport/parser-delimiter@8.0.6 OK for: serialport@8.0.8 want: ^8.0.6
74 silly placeDep node_modules/firmata @serialport/parser-readline@8.0.6 OK for: serialport@8.0.8 want: ^8.0.6
75 silly placeDep node_modules/firmata @serialport/parser-ready@8.0.6 OK for: serialport@8.0.8 want: ^8.0.6
76 silly placeDep node_modules/firmata @serialport/parser-regex@8.0.6 OK for: serialport@8.0.8 want: ^8.0.6
77 silly placeDep node_modules/firmata @serialport/stream@8.0.6 OK for: serialport@8.0.8 want: ^8.0.6
78 silly fetch manifest @serialport/binding-abstract@^8.0.6
79 silly fetch manifest prebuild-install@^5.3.0
80 http fetch GET 200 https://registry.npmjs.org/prebuild-install 62ms (cache revalidated)
81 http fetch GET 200 https://registry.npmjs.org/@serialport%2fbinding-abstract 158ms (cache revalidated)
82 timing idealTree:node_modules/firmata/node_modules/serialport Completed in 173ms
83 silly placeDep node_modules/firmata @serialport/binding-abstract@8.0.6 OK for: @serialport/binding-mock@8.0.6 want: ^8.0.6
84 timing idealTree:node_modules/firmata/node_modules/@serialport/binding-mock Completed in 2ms
85 timing idealTree:node_modules/firmata/node_modules/@serialport/binding-abstract Completed in 0ms
86 silly placeDep node_modules/firmata prebuild-install@5.3.6 OK for: @serialport/bindings@8.0.8 want: ^5.3.0
87 silly fetch manifest detect-libc@^1.0.3
88 silly fetch manifest node-abi@^2.7.0
89 silly fetch manifest noop-logger@^0.1.1
90 silly fetch manifest simple-get@^3.0.3
91 silly fetch manifest which-pm-runs@^1.0.0
92 http fetch GET 200 https://registry.npmjs.org/detect-libc 68ms (cache revalidated)
93 http fetch GET 200 https://registry.npmjs.org/noop-logger 76ms (cache revalidated)
94 http fetch GET 200 https://registry.npmjs.org/which-pm-runs 79ms (cache revalidated)
95 http fetch GET 200 https://registry.npmjs.org/node-abi 118ms (cache revalidated)
96 http fetch GET 200 https://registry.npmjs.org/simple-get 782ms (cache revalidated)
97 timing idealTree:node_modules/firmata/node_modules/@serialport/bindings Completed in 788ms
98 timing idealTree:node_modules/firmata/node_modules/@serialport/parser-byte-length Completed in 1ms
99 timing idealTree:node_modules/firmata/node_modules/@serialport/parser-cctalk Completed in 0ms
100 timing idealTree:node_modules/firmata/node_modules/@serialport/parser-delimiter Completed in 0ms
101 timing idealTree:node_modules/firmata/node_modules/@serialport/parser-readline Completed in 0ms
102 timing idealTree:node_modules/firmata/node_modules/@serialport/parser-ready Completed in 0ms
103 timing idealTree:node_modules/firmata/node_modules/@serialport/parser-regex Completed in 0ms
104 timing idealTree:node_modules/firmata/node_modules/@serialport/stream Completed in 0ms
105 silly placeDep node_modules/firmata detect-libc@1.0.3 OK for: prebuild-install@5.3.6 want: ^1.0.3
106 silly placeDep node_modules/firmata node-abi@2.30.1 OK for: prebuild-install@5.3.6 want: ^2.7.0
107 silly placeDep ROOT noop-logger@0.1.1 OK for: prebuild-install@5.3.6 want: ^0.1.1
108 silly placeDep node_modules/firmata simple-get@3.1.1 OK for: prebuild-install@5.3.6 want: ^3.0.3
109 silly placeDep ROOT which-pm-runs@1.0.0 OK for: prebuild-install@5.3.6 want: ^1.0.0
110 silly fetch manifest semver@^5.4.1
111 silly fetch manifest decompress-response@^4.2.0
112 http fetch GET 200 https://registry.npmjs.org/semver 63ms (cache revalidated)
113 http fetch GET 200 https://registry.npmjs.org/decompress-response 79ms (cache revalidated)
114 timing idealTree:node_modules/firmata/node_modules/prebuild-install Completed in 89ms
115 timing idealTree:node_modules/noop-logger Completed in 0ms
116 timing idealTree:node_modules/which-pm-runs Completed in 0ms
117 timing idealTree:node_modules/firmata/node_modules/detect-libc Completed in 0ms
118 silly placeDep node_modules/firmata semver@5.7.1 OK for: node-abi@2.30.1 want: ^5.4.1
119 timing idealTree:node_modules/firmata/node_modules/node-abi Completed in 4ms
120 timing idealTree:node_modules/firmata/node_modules/semver Completed in 0ms
121 silly placeDep node_modules/firmata decompress-response@4.2.1 OK for: simple-get@3.1.1 want: ^4.2.0
122 silly fetch manifest mimic-response@^2.0.0
123 http fetch GET 200 https://registry.npmjs.org/mimic-response 51ms (cache revalidated)
124 timing idealTree:node_modules/firmata/node_modules/simple-get Completed in 57ms
125 silly placeDep node_modules/firmata mimic-response@2.1.0 OK for: decompress-response@4.2.1 want: ^2.0.0
126 timing idealTree:node_modules/firmata/node_modules/decompress-response Completed in 1ms
127 timing idealTree:node_modules/firmata/node_modules/mimic-response Completed in 0ms
128 timing idealTree:buildDeps Completed in 4177ms
129 timing idealTree:fixDepFlags Completed in 2ms
130 timing idealTree Completed in 4256ms
131 timing reify:loadTrees Completed in 4257ms
132 timing reify:diffTrees Completed in 4ms
133 silly reify moves {}
134 timing reify:retireShallow Completed in 1ms
135 timing reify:createSparse Completed in 16ms
136 timing reify:trashOmits Completed in 0ms
137 timing reify:loadBundles Completed in 0ms
138 timing reifyNode:node_modules/which-pm-runs Completed in 127ms
139 timing reifyNode:node_modules/firmata/node_modules/simple-get Completed in 130ms
140 timing reifyNode:node_modules/firmata/node_modules/mimic-response Completed in 135ms
141 timing reifyNode:node_modules/firmata/node_modules/decompress-response Completed in 135ms
142 timing reifyNode:node_modules/firmata/node_modules/@serialport/binding-abstract Completed in 136ms
143 timing reifyNode:node_modules/firmata/node_modules/@serialport/parser-regex Completed in 136ms
144 timing reifyNode:node_modules/firmata/node_modules/@serialport/parser-byte-length Completed in 136ms
145 timing reifyNode:node_modules/firmata/node_modules/@serialport/parser-delimiter Completed in 136ms
146 timing reifyNode:node_modules/firmata/node_modules/@serialport/parser-cctalk Completed in 136ms
147 timing reifyNode:node_modules/firmata/node_modules/@serialport/parser-readline Completed in 136ms
148 timing reifyNode:node_modules/firmata/node_modules/@serialport/parser-ready Completed in 145ms
149 timing reifyNode:node_modules/firmata/node_modules/@serialport/stream Completed in 146ms
150 timing reifyNode:node_modules/firmata/node_modules/@serialport/binding-mock Completed in 155ms
151 timing reifyNode:node_modules/node-red-node-arduino Completed in 158ms
152 timing reifyNode:node_modules/firmata/node_modules/detect-libc Completed in 158ms
153 timing reifyNode:node_modules/firmata-io Completed in 160ms
154 timing reifyNode:node_modules/firmata/node_modules/semver Completed in 162ms
155 timing reifyNode:node_modules/noop-logger Completed in 163ms
156 timing reifyNode:node_modules/firmata/node_modules/serialport Completed in 162ms
157 timing reifyNode:node_modules/firmata/node_modules/node-abi Completed in 168ms
158 timing reifyNode:node_modules/firmata/node_modules/prebuild-install Completed in 175ms
159 timing reifyNode:node_modules/firmata/node_modules/@serialport/bindings Completed in 194ms
160 timing reifyNode:node_modules/firmata Completed in 204ms
161 timing reify:unpack Completed in 204ms
162 timing reify:unretire Completed in 0ms
163 timing build:queue Completed in 5ms
164 timing build:link:node_modules/firmata/node_modules/detect-libc Completed in 9ms
165 timing build:link:node_modules/firmata/node_modules/prebuild-install Completed in 8ms
166 timing build:link:node_modules/firmata/node_modules/semver Completed in 8ms
167 timing build:link Completed in 9ms
168 info run @serialport/bindings@8.0.8 install node_modules/firmata/node_modules/@serialport/bindings prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
169 info run @serialport/bindings@8.0.8 install { code: 1, signal: null }
170 timing reify:rollback:createSparse Completed in 43ms
171 timing reify:rollback:retireShallow Completed in 0ms
172 timing command:install Completed in 5995ms
173 verbose stack Error: command failed
173 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\promise-spawn\index.js:64:27)
173 verbose stack     at ChildProcess.emit (node:events:520:28)
173 verbose stack     at maybeClose (node:internal/child_process:1092:16)
173 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)
174 verbose pkgid @serialport/bindings@8.0.8
175 verbose cwd C:\Users\rayan\.node-red
176 verbose Windows_NT 10.0.19042
177 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "--no-audit" "--no-update-notifier" "--no-fund" "--save" "--save-prefix=~" "--production" "--engine-strict" "node-red-node-arduino@0.3.1"
178 verbose node v16.14.0
179 verbose npm  v8.3.1
180 error code 1
181 error path C:\Users\rayan\.node-red\node_modules\firmata\node_modules\@serialport\bindings
182 error command failed
183 error command C:\WINDOWS\system32\cmd.exe /d /s /c prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
184 error gyp info it worked if it ends with ok
184 error gyp info using node-gyp@8.4.1
184 error gyp info using node@16.14.0 | win32 | x64
184 error gyp info find Python using Python version 3.10.2 found at "C:\Python310\python.exe"
184 error gyp ERR! find VS 
184 error gyp ERR! find VS msvs_version not set from command line or npm config
184 error gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
184 error gyp ERR! find VS checking VS2019 (16.11.32126.315) found at:
184 error gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools"
184 error gyp ERR! find VS - found "Visual Studio C++ core features"
184 error gyp ERR! find VS - missing any VC++ toolset
184 error gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
184 error gyp ERR! find VS looking for Visual Studio 2015
184 error gyp ERR! find VS - not found
184 error gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
184 error gyp ERR! find VS 
184 error gyp ERR! find VS **************************************************************
184 error gyp ERR! find VS You need to install the latest version of Visual Studio
184 error gyp ERR! find VS including the "Desktop development with C++" workload.
184 error gyp ERR! find VS For more information consult the documentation at:
184 error gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
184 error gyp ERR! find VS **************************************************************
184 error gyp ERR! find VS 
184 error gyp ERR! configure error 
184 error gyp ERR! stack Error: Could not find any Visual Studio installation to use
184 error gyp ERR! stack     at VisualStudioFinder.fail (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:122:47)
184 error gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:75:16
184 error gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:363:14)
184 error gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:71:14
184 error gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:384:16
184 error gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
184 error gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
184 error gyp ERR! stack     at ChildProcess.exithandler (node:child_process:406:5)
184 error gyp ERR! stack     at ChildProcess.emit (node:events:520:28)
184 error gyp ERR! stack     at maybeClose (node:internal/child_process:1092:16)
184 error gyp ERR! System Windows_NT 10.0.19042
184 error gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
184 error gyp ERR! cwd C:\Users\rayan\.node-red\node_modules\firmata\node_modules\@serialport\bindings
184 error gyp ERR! node -v v16.14.0
184 error gyp ERR! node-gyp -v v8.4.1
184 error gyp ERR! not ok
185 verbose exit 1
186 timing npm Completed in 6397ms
187 verbose unfinished npm timer reify 1645103888095
188 verbose unfinished npm timer reify:build 1645103892585
189 verbose unfinished npm timer build 1645103892585
190 verbose unfinished npm timer build:deps 1645103892585
191 verbose unfinished npm timer build:run:install 1645103892599
192 verbose unfinished npm timer build:run:install:node_modules/firmata/node_modules/@serialport/bindings 1645103892599
193 verbose code 1
194 error A complete log of this run can be found in:
194 error     C:\Users\rayan\AppData\Local\npm-cache\_logs\2022-02-17T13_18_07_695Z-debug-0.log

Use the Visual Studio Installer to get the Desktop development with C++ workload in one of the Visual Studio versions you have installed in your machine:


and run this in cmd:

npm config set msvs_version 2017

Make sure the version number matches if it's different

more info here: GitHub - nodejs/node-gyp: Node.js native addon build tool

1 Like

THANK YOU! It worked.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.