# External package gives error

**URL:** <https://discourse.nodered.org/t/external-package-gives-error/67723>\
**Category:** General\
**Tags:** function-node\
**Created:** [14 September 2022 20:42 UTC](https://discourse.nodered.org/t/external-package-gives-error/67723 "2022-09-14T20:42:55Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![lastheim](https://avatars.discourse-cdn.com/v4/letter/l/f14d63/32.png) [@lastheim](https://discourse.nodered.org/u/lastheim)\
**Post date:** [14 September 2022 20:42 UTC](https://discourse.nodered.org/t/external-package-gives-error/67723/1 "2022-09-14T20:42:55Z")

</div>

Hi,

Im trying to add an external package, node-mavlink, to be able to use it in a function node in a node red flow.

Im running node red in docker so Ive installed the package in /data and updated the settings.js file:

```
functionGlobalContext: {
    mavlink:require('node-mavlink'),
    // os:require('os'),
},

```

Reading the logs after restarting node red I get:

nodered | Error loading settings file: /data/settings.js  
nodered | /data/node\_modules/node-mavlink/dist/lib/mavesp.js:44  
nodered | this.socket?.bind(receivePort, () =\> {  
nodered | ^  
nodered |  
nodered | SyntaxError: Unexpected token '.'  
nodered | at wrapSafe (internal/modules/cjs/loader.js:915:16)  
nodered | at Module.\_compile (internal/modules/cjs/loader.js:963:27)  
nodered | at Object.Module.\_extensions..js (internal/modules/cjs/loader.js:1027:10)  
nodered | at Module.load (internal/modules/cjs/loader.js:863:32)  
nodered | at Function.Module.\_load (internal/modules/cjs/loader.js:708:14)  
nodered | at Module.require (internal/modules/cjs/loader.js:887:19)  
nodered | at require (internal/modules/cjs/helpers.js:74:18)  
nodered | at Object. (/data/node\_modules/node-mavlink/dist/index.js:21:14)  
nodered | at Module.\_compile (internal/modules/cjs/loader.js:999:30)  
nodered | at Object.Module.\_extensions..js (internal/modules/cjs/loader.js:1027:10)

Is it a faulty package or have I missed somthing(most probably)?

Regards,  
Ludvig

---

<div class="post-metadata">

**Author:** ![UnborN](https://avatars.discourse-cdn.com/v4/letter/u/4491bb/32.png) [@UnborN](https://discourse.nodered.org/u/UnborN)\
**Post date:** [14 September 2022 21:32 UTC](https://discourse.nodered.org/t/external-package-gives-error/67723/2 "2022-09-14T21:32:01Z")

</div>

> [@lastheim](#):
>
> this.socket?.bind

the library is using **[Optional chaining (?.)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining)**..  
which based on the MDN website this syntax is supported  
in Nodejs version 14 and up.

Can you check that the docker container is using the appropriate Nodejs \>= 14 version ?

---

<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:** [28 September 2022 21:32 UTC](https://discourse.nodered.org/t/external-package-gives-error/67723/3 "2022-09-28T21:32:59Z")

</div>

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