# Failed to install node-red-contrib-speaker 0.1.7

**URL:** <https://discourse.nodered.org/t/failed-to-install-node-red-contrib-speaker-0-1-7/21650>\
**Category:** General\
**Created:** [13 February 2020 12:23 UTC](https://discourse.nodered.org/t/failed-to-install-node-red-contrib-speaker-0-1-7/21650 "2020-02-13T12:23:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![maku12](https://avatars.discourse-cdn.com/v4/letter/m/4af34b/32.png) [@maku12](https://discourse.nodered.org/u/maku12)\
**Post date:** [13 February 2020 12:23 UTC](https://discourse.nodered.org/t/failed-to-install-node-red-contrib-speaker-0-1-7/21650/1 "2020-02-13T12:23:06Z")

</div>

Hi, i wanted to install the node node-red-contrib-speaker 0.1.7  
but it failed, please help, below there is the log:

* * *

2020-02-13T12:17:00.480Z installieren : node-red-contrib-audiostream-to-speaker 1.0.2

2020-02-13T12:17:00.517Z npm install --no-audit --no-update-notifier --save --save-prefix="~" --production node-red-contrib-audiostream-to-speaker@1.0.2  
2020-02-13T12:17:22.630Z [err] npm  
2020-02-13T12:17:22.631Z [err] WARN notsup Unsupported engine for node-red-contrib-audiostream-to-speaker@1.0.2: wanted: {"node":"6.x"} (current: {"node":"12.13.0","npm":"6.13.0"})  
2020-02-13T12:17:22.631Z [err] npm WARN  
2020-02-13T12:17:22.632Z [err] notsup Not compatible with your version of node/npm: node-red-contrib-audiostream-to-speaker@1.0.2  
2020-02-13T12:17:22.632Z [err] npm  
2020-02-13T12:17:22.633Z [err] WARN ts-jest@24.3.0 requires a peer of jest@\>=24 \<25 but none is installed. You must install peer dependencies yourself.  
2020-02-13T12:17:22.633Z [err] npm  
2020-02-13T12:17:22.633Z [err] WARN node-red-project@0.0.1 No repository field.  
2020-02-13T12:17:22.633Z [err] npm  
2020-02-13T12:17:22.634Z [err] WARN node-red-project@0.0.1 No license field.  
2020-02-13T12:17:22.635Z [err]  
2020-02-13T12:17:22.639Z [out] + node-red-contrib-audiostream-to-speaker@1.0.2  
2020-02-13T12:17:22.639Z [out] added 1 package in 19.305s  
2020-02-13T12:17:24.113Z [out]  
2020-02-13T12:17:24.113Z [out] 15 packages are looking for funding.  
2020-02-13T12:17:24.113Z [out] Run "npm fund" to find out more.  
2020-02-13T12:17:24.160Z rc=0

* * *

2020-02-13T12:19:05.321Z Entfernen : node-red-contrib-audiostream-to-speaker

2020-02-13T12:19:05.432Z npm remove --no-audit --no-update-notifier --save node-red-contrib-audiostream-to-speaker  
2020-02-13T12:19:23.632Z [err] npm  
2020-02-13T12:19:23.633Z [err]  
2020-02-13T12:19:23.633Z [err] WARN ts-jest@24.3.0 requires a peer of jest@\>=24 \<25 but none is installed. You must install peer dependencies yourself.  
2020-02-13T12:19:23.634Z [err] npm  
2020-02-13T12:19:23.634Z [err] WARN  
2020-02-13T12:19:23.635Z [err] node-red-project@0.0.1 No repository field.  
2020-02-13T12:19:23.635Z [err] npm WARN node-red-project@0.0.1 No license field.  
2020-02-13T12:19:23.637Z [err]  
2020-02-13T12:19:23.642Z [out] removed 4 packages in 16.059s  
2020-02-13T12:19:25.162Z [out]  
2020-02-13T12:19:25.162Z [out] 15 packages are looking for funding.  
2020-02-13T12:19:25.162Z [out] Run "npm fund" to find out more.  
2020-02-13T12:19:25.331Z rc=0

* * *

2020-02-13T12:20:13.805Z installieren : node-red-contrib-speaker 0.1.7

2020-02-13T12:20:13.842Z npm install --no-audit --no-update-notifier --save --save-prefix="~" --production node-red-contrib-speaker@0.1.7  
2020-02-13T12:20:35.344Z [out]  
2020-02-13T12:20:35.344Z [out] \> speaker@0.2.6 install /home/pi/.node-red/node\_modules/speaker  
2020-02-13T12:20:35.344Z [out] \> node-gyp rebuild  
2020-02-13T12:20:35.344Z [out]  
2020-02-13T12:20:37.953Z [out] make: Entering directory '/home/pi/.node-red/node\_modules/speaker/build'  
2020-02-13T12:20:37.960Z [out] CC(target) Release/obj.target/output/deps/mpg123/src/output/alsa.o  
2020-02-13T12:20:38.586Z [err] ../deps/mpg123/src/output/alsa.c: In function ‘rates\_match’:  
2020-02-13T12:20:38.586Z [err] ../deps/mpg123/src/output/alsa.c:53:22: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘long int’ [-Wsign-compare]  
2020-02-13T12:20:38.586Z [err] return actual \* 100 \> desired \* (100 - AUDIO\_RATE\_TOLERANCE) &&  
2020-02-13T12:20:38.586Z [err] ^  
2020-02-13T12:20:38.586Z [err] ../deps/mpg123/src/output/alsa.c:54:22: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘long int’ [-Wsign-compare]  
2020-02-13T12:20:38.586Z [err] actual \* 100 \< desired \* (100 + AUDIO\_RATE\_TOLERANCE);  
2020-02-13T12:20:38.586Z [err] ^  
2020-02-13T12:20:38.600Z [err] ../deps/mpg123/src/output/alsa.c: In function ‘initialize\_device’:  
2020-02-13T12:20:38.600Z [err] ../deps/mpg123/src/output/alsa.c:78:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]  
2020-02-13T12:20:38.600Z [err] for (i = 0; i \< NUM\_FORMATS; ++i) {  
2020-02-13T12:20:38.600Z [err] ^  
2020-02-13T12:20:38.609Z [err] ../deps/mpg123/src/output/alsa.c: In function ‘get\_formats\_alsa’:  
2020-02-13T12:20:38.609Z [err] ../deps/mpg123/src/output/alsa.c:201:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]  
2020-02-13T12:20:38.609Z [err] for (i = 0; i \< NUM\_FORMATS; ++i) {  
2020-02-13T12:20:38.609Z [err] ^  
2020-02-13T12:20:39.454Z [out] AR(target) Release/obj.target/deps/mpg123/liboutput.a  
2020-02-13T12:20:39.491Z [out] COPY Release/liboutput.a  
2020-02-13T12:20:39.523Z [out] CXX(target) Release/obj.target/binding/src/binding.o  
2020-02-13T12:20:43.379Z [err] In file included from ../src/node\_pointer.h:6,  
2020-02-13T12:20:43.379Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:43.379Z [err] ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker\*)’:  
2020-02-13T12:20:43.379Z [err] ../../nan/nan.h:2298:62: warning: cast between incompatible function types from ‘void (_)(uv\_work\_t_)’ {aka ‘void (_)(uv\_work\_s_)’} to ‘uv\_after\_work\_cb’ {aka ‘void (_)(uv\_work\_s_, int)’} [-Wcast-function-type]  
2020-02-13T12:20:43.379Z [err] , reinterpret\_cast\<uv\_after\_work\_cb\>(AsyncExecuteComplete)  
2020-02-13T12:20:43.379Z [err] ^  
2020-02-13T12:20:43.609Z [err] ../src/binding.cc: In function ‘Nan::NAN\_METHOD\_RETURN\_TYPE {anonymous}::Open(Nan::NAN\_METHOD\_ARGS\_TYPE)’:  
2020-02-13T12:20:43.609Z [err] ../src/binding.cc:30:38: error: no matching function for call to ‘v8::Value::Int32Value()’  
2020-02-13T12:20:43.609Z [err] ao-\>channels = info[1]-\>Int32Value(); /\* channels _/  
2020-02-13T12:20:43.609Z [err] ^  
2020-02-13T12:20:43.610Z [err] In file included from /home/pi/.cache/node-gyp/12.13.0/include/node/node.h:63,  
2020-02-13T12:20:43.610Z [err] from ../../nan/nan.h:54,  
2020-02-13T12:20:43.610Z [err] from ../src/node\_pointer.h:6,  
2020-02-13T12:20:43.610Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:43.610Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’  
2020-02-13T12:20:43.610Z [err] V8\_WARN\_UNUSED\_RESULT Maybe\<int32\_t\> Int32Value(Local context) const;  
2020-02-13T12:20:43.610Z [err] ^ ~~~~~~~~~  
2020-02-13T12:20:43.610Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate expects 1 argument, 0 provided  
2020-02-13T12:20:43.610Z [err] ../src/binding.cc:31:34: error: no matching function for call to ‘v8::Value::Int32Value()’  
2020-02-13T12:20:43.610Z [err] ao-\>rate = info[2]-\>Int32Value(); /_ sample rate _/  
2020-02-13T12:20:43.610Z [err] ^  
2020-02-13T12:20:43.610Z [err] In file included from /home/pi/.cache/node-gyp/12.13.0/include/node/node.h:63,  
2020-02-13T12:20:43.610Z [err] from ../../nan/nan.h:54,  
2020-02-13T12:20:43.610Z [err] from ../src/node\_pointer.h:6,  
2020-02-13T12:20:43.610Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:43.610Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’  
2020-02-13T12:20:43.610Z [err] V8\_WARN\_UNUSED\_RESULT Maybe\<int32\_t\> Int32Value(Local context) const;  
2020-02-13T12:20:43.610Z [err] ^ ~~~~~~~~~  
2020-02-13T12:20:43.610Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate expects 1 argument, 0 provided  
2020-02-13T12:20:43.610Z [err] ../src/binding.cc:32:36: error: no matching function for call to ‘v8::Value::Int32Value()’  
2020-02-13T12:20:43.610Z [err] ao-\>format = info[3]-\>Int32Value(); /_ MPG123\_ENC\_\* format _/  
2020-02-13T12:20:43.610Z [err] ^  
2020-02-13T12:20:43.610Z [err] In file included from /home/pi/.cache/node-gyp/12.13.0/include/node/node.h:63,  
2020-02-13T12:20:43.610Z [err] from ../../nan/nan.h:54,  
2020-02-13T12:20:43.610Z [err] from ../src/node\_pointer.h:6,  
2020-02-13T12:20:43.610Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:43.610Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’  
2020-02-13T12:20:43.610Z [err] V8\_WARN\_UNUSED\_RESULT Maybe\<int32\_t\> Int32Value(Local context) const;  
2020-02-13T12:20:43.610Z [err] ^ ~~~~~~~~~  
2020-02-13T12:20:43.610Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate expects 1 argument, 0 provided  
2020-02-13T12:20:43.617Z [err] ../src/binding.cc: In function ‘Nan::NAN\_METHOD\_RETURN\_TYPE {anonymous}::Write(Nan::NAN\_METHOD\_ARGS\_TYPE)’:  
2020-02-13T12:20:43.617Z [err] ../src/binding.cc:51:33: error: no matching function for call to ‘v8::Value::Int32Value()’  
2020-02-13T12:20:43.617Z [err] int len = info[2]-\>Int32Value();  
2020-02-13T12:20:43.617Z [err] ^  
2020-02-13T12:20:43.618Z [err] In file included from /home/pi/.cache/node-gyp/12.13.0/include/node/node.h:63,  
2020-02-13T12:20:43.618Z [err] from ../../nan/nan.h:54,  
2020-02-13T12:20:43.618Z [err] from ../src/node\_pointer.h:6,  
2020-02-13T12:20:43.618Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:43.618Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: ‘v8::Maybe v8::Value::Int32Value(v8::Localv8::Context) const’  
2020-02-13T12:20:43.618Z [err] V8\_WARN\_UNUSED\_RESULT Maybe\<int32\_t\> Int32Value(Local context) const;  
2020-02-13T12:20:43.618Z [err] ^ ~~~~~~~~~  
2020-02-13T12:20:43.618Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate expects 1 argument, 0 provided  
2020-02-13T12:20:43.619Z [err] ../src/binding.cc:62:78: warning: cast between incompatible function types from ‘void (_)(uv\_work\_t\*)’ {aka ‘void (_)(uv\_work\_s_)’} to ‘uv\_after\_work\_cb’ {aka ‘void (_)(uv\_work\_s_, int)’} [-Wcast-function-type]  
2020-02-13T12:20:43.619Z [err] uv\_queue\_work(uv\_default\_loop(), &req-\>req, write\_async, (uv\_after\_work\_cb)write\_after);  
2020-02-13T12:20:43.619Z [err] ^ ~~~~~~~~~~  
2020-02-13T12:20:43.622Z [err] ../src/binding.cc: In function ‘void {anonymous}::write\_after(uv\_work\_t\*)’:  
2020-02-13T12:20:43.622Z [err] ../src/binding.cc:80:31: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value_) const’ is deprecated [-Wdeprecated-declarations]  
2020-02-13T12:20:43.622Z [err] wreq-\>callback-\>Call(1, argv);  
2020-02-13T12:20:43.622Z [err] ^  
2020-02-13T12:20:43.622Z [err] In file included from ../src/node\_pointer.h:6,  
2020-02-13T12:20:43.622Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:43.622Z [err] ../../nan/nan.h:1740:3: note: declared here  
2020-02-13T12:20:43.622Z [err] Call(int argc, v8::Localv8::Value argv[]) const {  
2020-02-13T12:20:43.622Z [err] ^~~~  
2020-02-13T12:20:43.624Z [err] ../src/binding.cc: At global scope:  
2020-02-13T12:20:43.624Z [err] ../src/binding.cc:104:17: error: variable or field ‘Initialize’ declared void  
2020-02-13T12:20:43.624Z [err] void Initialize(Handle target) {  
2020-02-13T12:20:43.624Z [err] ^ ~~~~~  
2020-02-13T12:20:43.624Z [err] ../src/binding.cc:104:17: error: ‘Handle’ was not declared in this scope  
2020-02-13T12:20:43.636Z [err] ../src/binding.cc:104:17: note: suggested alternative: ‘daddl’  
2020-02-13T12:20:43.636Z [err] void Initialize(Handle target) {  
2020-02-13T12:20:43.636Z [err] ^ ~~~~~  
2020-02-13T12:20:43.636Z [err] daddl  
2020-02-13T12:20:43.637Z [err] ../src/binding.cc:104:30: error: expected primary-expression before ‘\>’ token  
2020-02-13T12:20:43.637Z [err] void Initialize(Handle target) {  
2020-02-13T12:20:43.637Z [err] ^  
2020-02-13T12:20:43.637Z [err] ../src/binding.cc:104:32: error: ‘target’ was not declared in this scope  
2020-02-13T12:20:43.637Z [err] void Initialize(Handle target) {  
2020-02-13T12:20:43.637Z [err] ^ ~~~~~  
2020-02-13T12:20:43.649Z [err] ../src/binding.cc:104:32: note: suggested alternative: ‘tzset’  
2020-02-13T12:20:43.649Z [err] void Initialize(Handle target) {  
2020-02-13T12:20:43.649Z [err] ^ ~~~~~  
2020-02-13T12:20:43.649Z [err] tzset  
2020-02-13T12:20:43.650Z [err] In file included from ../../nan/nan.h:54,  
2020-02-13T12:20:43.650Z [err] from ../src/node\_pointer.h:6,  
2020-02-13T12:20:43.650Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:43.650Z [err] ../src/binding.cc:155:22: error: ‘Initialize’ was not declared in this scope  
2020-02-13T12:20:43.650Z [err] NODE\_MODULE(binding, Initialize)  
2020-02-13T12:20:43.650Z [err] ^ ~~~~~~~~~  
2020-02-13T12:20:43.650Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/node.h:560:36: note: in definition of macro ‘NODE\_MODULE\_X’  
2020-02-13T12:20:43.650Z [err] (node::addon\_register\_func) (regfunc),   
2020-02-13T12:20:43.650Z [err] ^ ~~~~~~  
2020-02-13T12:20:43.650Z [err] ../src/binding.cc:155:1: note: in expansion of macro ‘NODE\_MODULE’  
2020-02-13T12:20:43.650Z [err] NODE\_MODULE(binding, Initialize)  
2020-02-13T12:20:43.650Z [err] ^ ~~~~~~~~~~  
2020-02-13T12:20:43.669Z [err] ../src/binding.cc:155:22: note: suggested alternative: ‘canonicalize’  
2020-02-13T12:20:43.669Z [err] NODE\_MODULE(binding, Initialize)  
2020-02-13T12:20:43.669Z [err] ^ ~~~~~~~~~  
2020-02-13T12:20:43.669Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/node.h:560:36: note: in definition of macro ‘NODE\_MODULE\_X’  
2020-02-13T12:20:43.669Z [err] (node::addon\_register\_func) (regfunc),   
2020-02-13T12:20:43.669Z [err] ^ ~~~~~~  
2020-02-13T12:20:43.669Z [err] ../src/binding.cc:155:1: note: in expansion of macro ‘NODE\_MODULE’  
2020-02-13T12:20:43.669Z [err] NODE\_MODULE(binding, Initialize)  
2020-02-13T12:20:43.669Z [err] ^ ~~~~~~~~~~  
2020-02-13T12:20:43.813Z [err] In file included from /home/pi/.cache/node-gyp/12.13.0/include/node/node.h:63,  
2020-02-13T12:20:43.813Z [err] from ../../nan/nan.h:54,  
2020-02-13T12:20:43.813Z [err] from ../src/node\_pointer.h:6,  
2020-02-13T12:20:43.813Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:43.813Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P_, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (_)(const v8::WeakCallbackInfonode::ObjectWrap&)]’:  
2020-02-13T12:20:43.813Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/node\_object\_wrap.h:84:78: required from here  
2020-02-13T12:20:43.813Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:10004:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfonode::ObjectWrap::Callback’ {aka ‘void (_)(const v8::WeakCallbackInfonode::ObjectWrap&)’} to ‘Callback’ {aka ‘void (\*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type]  
2020-02-13T12:20:43.813Z [err] reinterpret\_cast(callback), type);  
2020-02-13T12:20:43.813Z [err] ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
2020-02-13T12:20:43.874Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P\*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (_)(const v8::WeakCallbackInfoNan::ObjectWrap&)]’:  
2020-02-13T12:20:43.874Z [err] ../../nan/nan\_object\_wrap.h:65:61: required from here  
2020-02-13T12:20:43.874Z [err] /home/pi/.cache/node-gyp/12.13.0/include/node/v8.h:10004:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfoNan::ObjectWrap::Callback’ {aka ‘void (_)(const v8::WeakCallbackInfoNan::ObjectWrap&)’} to ‘Callback’ {aka ‘void (\*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type]  
2020-02-13T12:20:44.145Z [err] In file included from ../src/node\_pointer.h:6,  
2020-02-13T12:20:44.145Z [err] from ../src/binding.cc:5:  
2020-02-13T12:20:44.145Z [err] ../src/binding.cc:93:12: warning: ‘Nan::NAN\_METHOD\_RETURN\_TYPE {anonymous}::Close(Nan::NAN\_METHOD\_ARGS\_TYPE)’ defined but not used [-Wunused-function]  
2020-02-13T12:20:44.145Z [err] NAN\_METHOD(Close) {  
2020-02-13T12:20:44.145Z [err] ^ ~~~~  
2020-02-13T12:20:44.145Z [err] ../../nan/nan.h:1566:33: note: in definition of macro ‘NAN\_METHOD’  
2020-02-13T12:20:44.145Z [err] Nan::NAN\_METHOD\_RETURN\_TYPE name(Nan::NAN\_METHOD\_ARGS\_TYPE info)  
2020-02-13T12:20:44.145Z [err] ^~~~  
2020-02-13T12:20:44.145Z [err] ../src/binding.cc:85:12: warning: ‘Nan::NAN\_METHOD\_RETURN\_TYPE {anonymous}::Flush(Nan::NAN\_METHOD\_ARGS\_TYPE)’ defined but not used [-Wunused-function]  
2020-02-13T12:20:44.145Z [err] NAN\_METHOD(Flush) {  
2020-02-13T12:20:44.145Z [err] ^ ~~~~  
2020-02-13T12:20:44.145Z [err] ../../nan/nan.h:1566:33: note: in definition of macro ‘NAN\_METHOD’  
2020-02-13T12:20:44.145Z [err] Nan::NAN\_METHOD\_RETURN\_TYPE name(Nan::NAN\_METHOD\_ARGS\_TYPE info)  
2020-02-13T12:20:44.145Z [err] ^~~~  
2020-02-13T12:20:44.145Z [err] ../src/binding.cc:47:12: warning: ‘Nan::NAN\_METHOD\_RETURN\_TYPE {anonymous}::Write(Nan::NAN\_METHOD\_ARGS\_TYPE)’ defined but not used [-Wunused-function]  
2020-02-13T12:20:44.145Z [err] NAN\_METHOD(Write) {  
2020-02-13T12:20:44.145Z [err] ^ ~~~~  
2020-02-13T12:20:44.145Z [err] ../../nan/nan.h:1566:33: note: in definition of macro ‘NAN\_METHOD’  
2020-02-13T12:20:44.145Z [err] Nan::NAN\_METHOD\_RETURN\_TYPE name(Nan::NAN\_METHOD\_ARGS\_TYPE info)  
2020-02-13T12:20:44.145Z [err] ^~~~  
2020-02-13T12:20:44.145Z [err] ../src/binding.cc:24:12: warning: ‘Nan::NAN\_METHOD\_RETURN\_TYPE {anonymous}::Open(Nan::NAN\_METHOD\_ARGS\_TYPE)’ defined but not used [-Wunused-function]  
2020-02-13T12:20:44.145Z [err] NAN\_METHOD(Open) {  
2020-02-13T12:20:44.145Z [err] ^~~~  
2020-02-13T12:20:44.145Z [err] ../../nan/nan.h:1566:33: note: in definition of macro ‘NAN\_METHOD’  
2020-02-13T12:20:44.145Z [err] Nan::NAN\_METHOD\_RETURN\_TYPE name(Nan::NAN\_METHOD\_ARGS\_TYPE info)  
2020-02-13T12:20:44.145Z [err] ^~~~  
2020-02-13T12:20:44.185Z [err] make: \*\*\* [binding.target.mk:118: Release/obj.target/binding/src/binding.o] Error 1  
2020-02-13T12:20:44.185Z [out] make: Leaving directory '/home/pi/.node-red/node\_modules/speaker/build'  
2020-02-13T12:20:44.196Z [err] gyp ERR! build error  
2020-02-13T12:20:44.196Z [err] gyp ERR! stack Error: `make` failed with exit code: 2  
2020-02-13T12:20:44.196Z [err] gyp ERR! stack at ChildProcess.onExit (/usr/lib/node\_modules/npm/node\_modules/node-gyp/lib/build.js:194:23)  
2020-02-13T12:20:44.196Z [err] gyp ERR! stack at ChildProcess.emit (events.js:210:5)  
2020-02-13T12:20:44.196Z [err] gyp ERR! stack at Process.ChildProcess.\_handle.onexit (internal/child\_process.js:272:12)  
2020-02-13T12:20:44.196Z [err] gyp  
2020-02-13T12:20:44.202Z [err] ERR! System Linux 4.19.75-v7+  
2020-02-13T12:20:44.202Z [err] gyp ERR! command "/usr/bin/node" "/usr/lib/node\_modules/npm/node\_modules/node-gyp/bin/node-gyp.js" "rebuild"  
2020-02-13T12:20:44.202Z [err] gyp ERR! cwd /home/pi/.node-red/node\_modules/speaker  
2020-02-13T12:20:44.202Z [err] gyp ERR! node -v v12.13.0  
2020-02-13T12:20:44.202Z [err] gyp ERR! node-gyp -v v5.0.5  
2020-02-13T12:20:44.202Z [err] gyp ERR! not ok  
2020-02-13T12:20:45.869Z [err] npm  
2020-02-13T12:20:45.869Z [err] WARN ts-jest@24.3.0 requires a peer of jest@\>=24 \<25 but none is installed. You must install peer dependencies yourself.  
2020-02-13T12:20:45.869Z [err] npm  
2020-02-13T12:20:45.869Z [err] WARN  
2020-02-13T12:20:45.869Z [err] node-red-project@0.0.1 No repository field.  
2020-02-13T12:20:45.870Z [err] npm  
2020-02-13T12:20:45.870Z [err]  
2020-02-13T12:20:45.870Z [err] WARN  
2020-02-13T12:20:45.870Z [err] node-red-project@0.0.1 No license field.  
2020-02-13T12:20:45.871Z [err]  
2020-02-13T12:20:45.900Z [err] npm  
2020-02-13T12:20:45.900Z [err] ERR! code ELIFECYCLE  
2020-02-13T12:20:45.900Z [err] npm  
2020-02-13T12:20:45.900Z [err] ERR!  
2020-02-13T12:20:45.900Z [err] errno  
2020-02-13T12:20:45.901Z [err] 1  
2020-02-13T12:20:45.901Z [err] npm  
2020-02-13T12:20:45.901Z [err] ERR!  
2020-02-13T12:20:45.902Z [err] speaker@0.2.6 install: `node-gyp rebuild`  
2020-02-13T12:20:45.902Z [err] npm  
2020-02-13T12:20:45.902Z [err] ERR!  
2020-02-13T12:20:45.902Z [err] Exit status 1  
2020-02-13T12:20:45.902Z [err] npm  
2020-02-13T12:20:45.902Z [err] ERR!  
2020-02-13T12:20:45.902Z [err]  
2020-02-13T12:20:45.902Z [err] npm  
2020-02-13T12:20:45.903Z [err] ERR!  
2020-02-13T12:20:45.903Z [err] Failed at the speaker@0.2.6 install script.  
2020-02-13T12:20:45.903Z [err] npm  
2020-02-13T12:20:45.903Z [err] ERR!  
2020-02-13T12:20:45.903Z [err] This is probably not a problem with npm. There is likely additional logging output above.  
2020-02-13T12:20:45.948Z [err]  
2020-02-13T12:20:45.948Z [err] npm ERR! A complete log of this run can be found in:  
2020-02-13T12:20:45.948Z [err] npm ERR!  
2020-02-13T12:20:45.949Z [err] /home/pi/.npm/\_logs/2020-02-13T12\_20\_45\_921Z-debug.log  
2020-02-13T12:20:45.968Z rc=1

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [13 February 2020 13:34 UTC](https://discourse.nodered.org/t/failed-to-install-node-red-contrib-speaker-0-1-7/21650/2 "2020-02-13T13:34:00Z")

</div>

You might want to look at the issues on github and notice that this node hasn’t been updated in two years

---

<div class="post-metadata">

**Author:** ![afelix](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/afelix/32/9743_2.png) [@afelix](https://discourse.nodered.org/u/afelix)\
**Post date:** [13 February 2020 14:28 UTC](https://discourse.nodered.org/t/failed-to-install-node-red-contrib-speaker-0-1-7/21650/3 "2020-02-13T14:28:56Z")

</div>

> [@maku12](#):
>
> 2020-02-13T12:17:22.631Z [err] WARN notsup Unsupported engine for node-red-contrib-audiostream-to-speaker@1.0.2: wanted: {"node":"6.x"} (current: {"node":"12.13.0","npm":"6.13.0"})

That line holds the biggest clue: It needs NodeJS 6.x for this Node to work, and you use NodeJS 12, and rightly so. Node-RED stopped supporting Node 6 a while a go, and Node 8 is end of life soon enough too. In practice it means that this node is not compatible to modern versions of Node-RED.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [13 April 2020 14:40 UTC](https://discourse.nodered.org/t/failed-to-install-node-red-contrib-speaker-0-1-7/21650/4 "2020-04-13T14:40:24Z")

</div>

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