Hello! I´m trying to install the lw.comm-server on my RPi 3B but are having

Hello!

I´m trying to install the lw.comm-server on my RPi 3B but are having some issues.

When following the guide on the Git page for manual install (

https://github.com/LaserWeb/lw.comm-server/wiki/Manual-Installation-(RasPi)

I get the following issues:

Issue #1
when installing Node 6.x I do not get the most up to date npm version.
The version I get is v1.4.21, and that is far to old as stated in the guide.
I found the solution for this I think on the following page:

https://stackoverflow.com/questions/44095985/why-can-i-only-install-an-outdated-version-of-npm-on-debian-ubuntu

So I started with a fresh copy of the Rasbian 4.14.50-v7+ again and this time issued the command:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

This worked and the current version installed is:
pi@LaserWeb:~ $ npm -v
5.6.0
pi@LaserWeb:~ $ node -v
v8.11.4

All good for now right?

Well, lets see Issue #2:

Git cloning the lw.comm-server.git was no problem, but what comes after is a problem i think:

__________________________________________________________________________

npm WARN deprecated hoek@2.16.3: The major version is no longer supported. Please update to 4.x or newer
npm WARN notice [SECURITY] debug has the following vulnerability: 1 low. Go here for more details: https://nodesecurity.io/advisories? search=debug&version=2.3.3 - Run npm i npm@latest -g to upgrade your npm version, and then npm audit to get more info.
npm WARN notice [SECURITY] debug has the following vulnerability: 1 low. Go here for more details: https://nodesecurity.io/advisories?search=debug&version=2.2.0 - Run npm i npm@latest -g to upgrade your npm version, and then npm audit to get more info.
npm WARN notice [SECURITY] debug has the following vulnerability: 1 low. Go here for more details: https://nodesecurity.io/advisories?search=debug&version=2.3.3 - Run npm i npm@latest -g to upgrade your npm version, and then npm audit to get more info.
npm WARN notice [SECURITY] debug has the following vulnerability: 1 low. Go here for more details: https://nodesecurity.io/advisories?search=debug&version=2.3.3 - Run npm i npm@latest -g to upgrade your npm version, and then npm audit to get more info.
npm WARN notice [SECURITY] parsejson has the following vulnerability: 1 high. Go here for more details: https://nodesecurity.io/advisories?search=parsejson&version=0.0.3 - Run npm i npm@latest -g to upgrade your npm version, and then npm audit to get more info.
npm WARN notice [SECURITY] tunnel-agent has the following vulnerability: 1 moderate. Go here for more details: https://nodesecurity.io/advisories?search=tunnel-agent&version=0.4.3 - Run npm i npm@latest -g to upgrade your npm version, and then npm audit to get more info.
npm WARN notice [SECURITY] debug has the following vulnerability: 1 low. Go here for more details: https://nodesecurity.io/advisories?search=debug&version=2.6.1 - Run npm i npm@latest -g to upgrade your npm version, and then npm audit to get more info.
npm WARN notice [SECURITY] debug has the following vulnerability: 1 low. Go here for more details: https://nodesecurity.io/advisories?search=debug&version=2.6.1 - Run npm i npm@latest -g to upgrade your npm version, and then npm audit to get more info.

serialport@4.0.7 install /home/pi/lw.comm-server/node_modules/serialport
node-pre-gyp install --fallback-to-build

node-pre-gyp info it worked if it ends with ok
node-pre-gyp verb cli [ ‘/usr/bin/node’,
node-pre-gyp verb cli ‘/home/pi/lw.comm-server/node_modules/serialport/node_modules/.bin/node-pre-gyp’,
node-pre-gyp verb cli ‘install’,
node-pre-gyp verb cli ‘–fallback-to-build’ ]
node-pre-gyp info using node-pre-gyp@0.6.32
node-pre-gyp info using node@8.11.4 | linux | arm
node-pre-gyp verb command install
node-pre-gyp info check checked for “/home/pi/lw.comm-server/node_modules/serialport/build/Release/serialport.node” (not found)
node-pre-gyp http GET https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v57-linux-arm.tar.gz node-pre-gyp http 404 https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v57-linux-arm.tar.gz node-pre-gyp ERR! Tried to download(404): https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v57-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@8.11.4 (node-v57 ABI) (falling back to source compile with node-gyp)
node-pre-gyp http 404 status code downloading tarball https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v57-linux-arm.tar.gz
node-pre-gyp verb command build [ ‘rebuild’ ]
make: Entering directory ‘/home/pi/lw.comm-server/node_modules/serialport/build’
CXX(target) Release/obj.target/serialport/src/serialport.o
…/src/serialport.cpp: In function ‘int getIntFromObject(v8::Localv8::Object, std::__cxx11::string’:
…/src/serialport.cpp:90:52: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return getValueFromObject(options, key)>ToInt32()>Int32Value();

___________________________________________________________________________

So, it cannot install the serial port since the git does not exist.

Any ideas?
I´ve tried to install mulitiple times with a fresh rasbian image, but with no luck.
Starting to lose my mind/patience.

Thanks in advance.

Best Regards
Erlend

Did you “npm i npm@latest -g” as instructed in the error message?

@Mike_Thornbury ,

No, I´m learning as I go, so most of this is new to me.
I´ve tried the following commands:

pi@LaserPi:~ $ sudo npm i npm@latest -g
sudo: npm: command not found
pi@LaserPi:~ $ npm i npm@latest -gg
-bash: npm: command not found
pi@LaserPi:~ $ npm i npm@latest -g
-bash: npm: command not found
pi@LaserPi:~ $ npm i npm@latest -g
-bash: npm: command not found
pi@LaserPi:~ $ sudo npm i npm@latest -g
-bash: npm: command not found

Do I need to be in a special folder for this?

Thanks fort your help so far.

You must use NodeJS version 6 not 8! LW is not compatible with V8.

Usually NodeJS V6 should install npm 3.x not 1.4 .

@cprezzi

Thank you for the tip, but when I follow the guide it says:

rl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
apt-get install -y nodejs

This results in npm being version v1.4.21.
Is there any way I can update npm to >= 3.10.10 ???

Please excuse my ignorence, but as stated earlier, I´m fairly new to linux/rasbian.

Thanks in advance.

That must be something specific with Raspbian Stretch. On Jessie I get npm 3.10 together with node 6.
Did you try “npm instal” with npm 1.4? Do you get errors with it?

@cprezzi “You must use NodeJS version 6 not 8! LW is not compatible with V8”

Aha! That explains my problem, too. I upgraded to 8.0 for another app, and was getting some funny messages like @Erlend_Steinsland ’s.

Hey @cprezzi @Mike_Thornbury !

Update:

I´ve done some testing and a ton og googling and managed to install the correct Node version and NPm version.

I did the following:

navigated to nodejs page: Download | Node.js

-found my rPi version by typing “name -m” in terminal and got the return:

armv71

-I then found the correct version for nodejs on this page:

https://nodejs.org/dist/latest-v6.x/

-typed in the following commands:

wget https://nodejs.org/dist/latest-v6.x/node-v6.14.4-linux-armv7l.tar.gz
cd node-v6.14.4-linux-armv7l/
~/node-v6.14.4-linux-armv7l $ sudo cp -R * /usr/local

-then, when asking for versions I got the following return:

~/node-v6.14.4-linux-armv7l $ node -v
v6.14.4

~/node-v6.14.4-linux-armv7l $ npm -v
3.10.10

-Then I ran an update:

~/node-v6.14.4-linux-armv7l $ sudo apt-get update

-Then navigated to pi folder:

~/node-v6.14.4-linux-armv7l $ cd /home/pi

-I the installed git:

sudo apt-get install git

-and cloned the git:

git clone GitHub - LaserWeb/lw.comm-server: Unified communications server for LaserWeb4 (and other frontends)

-After that I navigated to correc folder:

cd lw.comm-server

-and installed the server sw:

~/lw.comm-server $ npm install

I got the following in return:
**************************************************************
npm WARN prefer global node-gyp@3.8.0 should be installed with -g

> serialport@4.0.7 install /home/pi/lw.comm-server/node_modules/serialport
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v48-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@6.14.4 (node-v48 ABI) (falling back to source compile with node-gyp)
make: Entering directory ‘/home/pi/lw.comm-server/node_modules/serialport/build’
CXX(target) Release/obj.target/serialport/src/serialport.o
…/src/serialport.cpp: In function 'int getIntFromObject(v8::Localv8::Object, std::cxx11::string)':
…/src/serialport.cpp:90:52: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return getValueFromObject(options, key)>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^
…/src/serialport.cpp: In function ‘double getDoubleFromObject(v8::Localv8::Object, std::__cxx11::string)’:
…/src/serialport.cpp:102:53: warning: ‘v8::Localv8::Number v8::Value::ToNumber() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return getValueFromObject(options, key)>ToNumber()>NumberValue();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8178:15: note: declared here
Local Value::ToNumber() const {
^

…/src/serialport.cpp: In function ‘void EIO_AfterOpen(uv_work_t*)’:
…/src/serialport.cpp:174:31: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
int fd = argv[1]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^
…/src/serialport.cpp:180:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value*) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(2, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^
~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:193:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^
…/src/serialport.cpp:217:116: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
baton>baudRate = Nan::Get(options, Nan::Newv8::String(“baudRate”).ToLocalChecked()).ToLocalChecked()>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^
~~
…/src/serialport.cpp: In function ‘void EIO_AfterUpdate(uv_work_t*)’:
…/src/serialport.cpp:240:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Write(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:252:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterWrite(uv_work_t
)’:
…/src/serialport.cpp:339:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:369:32: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
baton>fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterClose(uv_work_t
)’:
…/src/serialport.cpp:403:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function 'void EIO_AfterList(uv_work_t
)’:
…/src/serialport.cpp:465:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [Wdeprecated-declarations]
data>callback.Call(2, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:480:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterFlush(uv_work_t
)’:
…/src/serialport.cpp:516:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(2, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:528:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterSet(uv_work_t
)’:
…/src/serialport.cpp:573:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:585:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterDrain(uv_work_t
)’:
…/src/serialport.cpp:617:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
CXX(target) Release/obj.target/serialport/src/serialport_unix.o
…/src/serialport_unix.cpp: In function 'OpenBatonPlatformOptions
ParsePlatformOptions(const v8::Localv8::Object&)’:
…/src/serialport_unix.cpp:44:109: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
result>vmin = Nan::Get(options, Nan::Newv8::String(“vmin”).ToLocalChecked()).ToLocalChecked()>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport_unix.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport_unix.cpp:45:111: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
result>vtime = Nan::Get(options, Nan::Newv8::String(“vtime”).ToLocalChecked()).ToLocalChecked()>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport_unix.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
CXX(target) Release/obj.target/serialport/src/serialport_poller.o
…/src/serialport_poller.cpp: In member function ‘void SerialportPoller::callCallback(int)’:
…/src/serialport_poller.cpp:47:26: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value*) const’ is deprecated [Wdeprecated-declarations]
callback
>Call(1, argv);
^
In file included from …/src/serialport_poller.cpp:5:0:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport_poller.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE SerialportPoller::New(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport_poller.cpp:86:31: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
obj>fd
= info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/serialport_poller.cpp:5:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
SOLINK_MODULE(target) Release/obj.target/serialport.node
COPY Release/serialport.node
make: Leaving directory ‘/home/pi/lw.comm-server/node_modules/serialport/build’

electron@1.8.8 postinstall /home/pi/lw.comm-server/node_modules/electron
node install.js

Downloading SHASUMS256.txt
[============================================>] 100.0% of 5.74 kB (5.74 kB/s)
lw.comm-server@4.0.131 /home/pi/lw.comm-server
├─┬ chalk@2.4.1
│ ├─┬ ansi-styles@3.2.1
│ │ └─┬ color-convert@1.9.3
│ │ └── color-name@1.1.3
│ ├── escape-string-regexp@1.0.5
│ └─┬ supports-color@5.5.0
│ └── has-flag@3.0.0
├─┬ copyfiles@1.2.0
│ ├─┬ glob@7.1.3
│ │ ├── fs.realpath@1.0.0
│ │ ├─┬ inflight@1.0.6
│ │ │ └── wrappy@1.0.2
│ │ ├── inherits@2.0.3
│ │ ├── once@1.4.0
│ │ └── path-is-absolute@1.0.1
│ ├── ltcdr@2.2.1
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.11
│ │ ├── balanced-match@1.0.0
│ │ └── concat-map@0.0.1
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├─┬ noms@0.0.0
│ │ └─┬ readable-stream@1.0.34
│ │ ├── core-util-is@1.0.2
│ │ └── string_decoder@0.10.31
│ └─┬ through2@2.0.3
│ ├─┬ readable-stream@2.3.6
│ │ ├── isarray@1.0.0
│ │ ├── process-nextick-args@2.0.0
│ │ ├── string_decoder@1.1.1
│ │ └── util-deprecate@1.0.2
│ └── xtend@4.0.1
├── dotenv@6.0.0
├─┬ electron@1.8.8
│ ├── @types/node@8.10.29
│ ├─┬ electron-download@3.3.0
│ │ ├─┬ fs-extra@0.30.0
│ │ │ ├── jsonfile@2.4.0
│ │ │ └── klaw@1.3.1
│ │ ├── home-path@1.0.6
│ │ ├── minimist@1.2.0
│ │ ├─┬ nugget@2.0.1
│ │ │ ├── minimist@1.2.0
│ │ │ ├─┬ pretty-bytes@1.0.4
│ │ │ │ ├── get-stdin@4.0.1
│ │ │ │ └─┬ meow@3.7.0
│ │ │ │ ├─┬ camelcase-keys@2.1.0
│ │ │ │ │ └── camelcase@2.1.1
│ │ │ │ ├─┬ loud-rejection@1.6.0
│ │ │ │ │ └─┬ currently-unhandled@0.4.1
│ │ │ │ │ └── array-find-index@1.0.2
│ │ │ │ ├── map-obj@1.0.1
│ │ │ │ ├── minimist@1.2.0
│ │ │ │ ├─┬ redent@1.0.0
│ │ │ │ │ ├─┬ indent-string@2.1.0
│ │ │ │ │ │ └─┬ repeating@2.0.1
│ │ │ │ │ │ └── is-finite@1.0.2
│ │ │ │ │ └── strip-indent@1.0.1
│ │ │ │ └── trim-newlines@1.0.0
│ │ │ ├─┬ progress-stream@1.2.0
│ │ │ │ ├── speedometer@0.1.4
│ │ │ │ └─┬ through2@0.2.3
│ │ │ │ ├── readable-stream@1.1.14
│ │ │ │ └─┬ xtend@2.1.2
│ │ │ │ └── object-keys@0.4.0
│ │ │ ├── single-line-log@1.1.2
│ │ │ └── throttleit@0.0.2
│ │ ├─┬ path-exists@2.1.0
│ │ │ └─┬ pinkie-promise@2.0.1
│ │ │ └── pinkie@2.0.4
│ │ ├─┬ rc@1.2.8
│ │ │ ├── deep-extend@0.6.0
│ │ │ ├── minimist@1.2.0
│ │ │ └── strip-json-comments@2.0.1
│ │ └─┬ sumchecker@1.3.1
│ │ └── es6-promise@4.2.4
│ └─┬ extract-zip@1.6.7
│ ├─┬ concat-stream@1.6.2
│ │ ├── buffer-from@1.1.1
│ │ ├─┬ readable-stream@2.3.6
│ │ │ ├── isarray@1.0.0
│ │ │ └── string_decoder@1.1.1
│ │ └── typedarray@0.0.6
│ └─┬ yauzl@2.4.1
│ └─┬ fd-slicer@1.0.1
│ └── pend@1.2.0
├─┬ electron-builder@14.5.3
│ ├─┬ 7zip-bin@2.4.1
│ │ └── 7zip-bin-linux@1.3.1
│ ├─┬ ajv@5.5.2
│ │ ├── co@4.6.0
│ │ ├── fast-deep-equal@1.1.0
│ │ ├── fast-json-stable-stringify@2.0.0
│ │ └── json-schema-traverse@0.3.1
│ ├── ajv-keywords@2.1.1
│ ├─┬ asar@0.13.1
│ │ ├── glob@6.0.4
│ │ ├─┬ mksnapshot@0.3.1
│ │ │ ├─┬ decompress-zip@0.3.0
│ │ │ │ ├─┬ binary@0.3.0
│ │ │ │ │ ├── buffers@0.1.1
│ │ │ │ │ └─┬ chainsaw@0.1.0
│ │ │ │ │ └── traverse@0.3.9
│ │ │ │ ├── mkpath@0.1.0
│ │ │ │ ├── q@1.5.1
│ │ │ │ ├── readable-stream@1.1.14
│ │ │ │ └─┬ touch@0.0.3
│ │ │ │ └── nopt@1.0.10
│ │ │ └── fs-extra@0.26.7
│ │ └─┬ tmp@0.0.28
│ │ └── os-tmpdir@1.0.2
│ ├─┬ bluebird-lst@1.0.5
│ │ └── bluebird@3.5.2
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ │ ├─┬ has-ansi@2.0.0
│ │ │ └── ansi-regex@2.1.1
│ │ ├── strip-ansi@3.0.1
│ │ └── supports-color@2.0.0
│ ├── chromium-pickle-js@0.2.0
│ ├── cuint@0.2.2
│ ├── electron-builder-core@13.6.0
│ ├─┬ electron-builder-http@13.10.1
│ │ └─┬ debug@2.6.1
│ │ └── ms@0.7.2
│ ├─┬ electron-builder-util@13.10.1
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ └── supports-color@2.0.0
│ │ ├─┬ debug@2.6.1
│ │ │ └── ms@0.7.2
│ │ ├── ini@1.3.5
│ │ ├─┬ node-emoji@1.8.1
│ │ │ └── lodash.toarray@4.4.0
│ │ ├─┬ source-map-support@0.4.18
│ │ │ └── source-map@0.5.7
│ │ ├── stat-mode@0.2.2
│ │ └── tunnel-agent@0.4.3
│ ├─┬ electron-download-tf@4.0.0
│ │ ├── fs-extra@2.1.2
│ │ ├── minimist@1.2.0
│ │ ├── path-exists@3.0.0
│ │ └── sumchecker@2.0.2
│ ├─┬ electron-macos-sign@1.6.0
│ │ └── compare-version@0.1.2
│ ├─┬ electron-publish@13.10.1
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ └── supports-color@2.0.0
│ │ └── progress-ex@2.0.0
│ ├─┬ fs-extra-p@4.6.1
│ │ └─┬ fs-extra@6.0.1
│ │ └── jsonfile@4.0.0
│ ├── hosted-git-info@2.7.1
│ ├─┬ is-ci@1.2.0
│ │ └── ci-info@1.4.0
│ ├─┬ isbinaryfile@3.0.3
│ │ └─┬ buffer-alloc@1.2.0
│ │ ├── buffer-alloc-unsafe@1.1.0
│ │ └── buffer-fill@1.0.0
│ ├─┬ js-yaml@3.12.0
│ │ ├─┬ argparse@1.0.10
│ │ │ └── sprintf-js@1.0.3
│ │ └── esprima@4.0.1
│ ├── node-forge@0.7.6
│ ├─┬ normalize-package-data@2.4.0
│ │ ├─┬ is-builtin-module@1.0.0
│ │ │ └── builtin-modules@1.1.1
│ │ └─┬ validate-npm-package-license@3.0.4
│ │ ├─┬ spdx-correct@3.0.0
│ │ │ └── spdx-license-ids@3.0.0
│ │ └─┬ spdx-expression-parse@3.0.0
│ │ └── spdx-exceptions@2.1.0
│ ├─┬ parse-color@1.0.0
│ │ └── color-convert@0.5.3
│ ├─┬ plist@2.1.0
│ │ ├── base64-js@1.2.0
│ │ ├── xmlbuilder@8.2.2
│ │ └── xmldom@0.1.27
│ ├─┬ sanitize-filename@1.6.1
│ │ └─┬ truncate-utf8-bytes@1.0.2
│ │ └── utf8-byte-length@1.0.4
│ ├── semver@5.5.1
│ ├─┬ update-notifier@2.5.0
│ │ ├─┬ boxen@1.3.0
│ │ │ ├─┬ ansi-align@2.0.0
│ │ │ │ └─┬ string-width@2.1.1
│ │ │ │ ├── is-fullwidth-code-point@2.0.0
│ │ │ │ └─┬ strip-ansi@4.0.0
│ │ │ │ └── ansi-regex@3.0.0
│ │ │ ├── camelcase@4.1.0
│ │ │ ├── cli-boxes@1.0.0
│ │ │ ├─┬ string-width@2.1.1
│ │ │ │ ├── is-fullwidth-code-point@2.0.0
│ │ │ │ └─┬ strip-ansi@4.0.0
│ │ │ │ └── ansi-regex@3.0.0
│ │ │ ├─┬ term-size@1.2.0
│ │ │ │ └─┬ execa@0.7.0
│ │ │ │ ├─┬ cross-spawn@5.1.0
│ │ │ │ │ ├─┬ lru-cache@4.1.3
│ │ │ │ │ │ ├── pseudomap@1.0.2
│ │ │ │ │ │ └── yallist@2.1.2
│ │ │ │ │ └─┬ shebang-command@1.2.0
│ │ │ │ │ └── shebang-regex@1.0.0
│ │ │ │ ├── get-stream@3.0.0
│ │ │ │ ├── is-stream@1.1.0
│ │ │ │ ├─┬ npm-run-path@2.0.2
│ │ │ │ │ └── path-key@2.0.1
│ │ │ │ ├── p-finally@1.0.0
│ │ │ │ └── strip-eof@1.0.0
│ │ │ └─┬ widest-line@2.0.0
│ │ │ └─┬ string-width@2.1.1
│ │ │ ├── is-fullwidth-code-point@2.0.0
│ │ │ └─┬ strip-ansi@4.0.0
│ │ │ └── ansi-regex@3.0.0
│ │ ├─┬ configstore@3.1.2
│ │ │ ├─┬ dot-prop@4.2.0
│ │ │ │ └── is-obj@1.0.1
│ │ │ ├─┬ make-dir@1.3.0
│ │ │ │ └── pify@3.0.0
│ │ │ ├─┬ unique-string@1.0.0
│ │ │ │ └── crypto-random-string@1.0.0
│ │ │ └─┬ write-file-atomic@2.3.0
│ │ │ ├── imurmurhash@0.1.4
│ │ │ └── signal-exit@3.0.2
│ │ ├── import-lazy@2.1.0
│ │ ├─┬ is-installed-globally@0.1.0
│ │ │ ├── global-dirs@0.1.1
│ │ │ └─┬ is-path-inside@1.0.1
│ │ │ └── path-is-inside@1.0.2
│ │ ├── is-npm@1.0.0
│ │ ├─┬ latest-version@3.1.0
│ │ │ └─┬ package-json@4.0.1
│ │ │ ├─┬ got@6.7.1
│ │ │ │ ├─┬ create-error-class@3.0.2
│ │ │ │ │ └── capture-stack-trace@1.0.1
│ │ │ │ ├── duplexer3@0.1.4
│ │ │ │ ├── is-redirect@1.0.0
│ │ │ │ ├── is-retry-allowed@1.1.0
│ │ │ │ ├── lowercase-keys@1.0.1
│ │ │ │ ├── timed-out@4.0.1
│ │ │ │ ├── unzip-response@2.0.1
│ │ │ │ └─┬ url-parse-lax@1.0.0
│ │ │ │ └── prepend-http@1.0.4
│ │ │ ├── registry-auth-token@3.3.2
│ │ │ └── registry-url@3.1.0
│ │ ├── semver-diff@2.1.0
│ │ └── xdg-basedir@3.0.0
│ ├─┬ uuid-1345@0.99.7
│ │ └── macaddress@0.2.9
│ └─┬ yargs@6.6.0
│ ├── camelcase@3.0.0
│ ├─┬ cliui@3.2.0
│ │ └── wrap-ansi@2.1.0
│ ├── decamelize@1.2.0
│ ├── get-caller-file@1.0.3
│ ├─┬ os-locale@1.4.0
│ │ └─┬ lcid@1.0.0
│ │ └── invert-kv@1.0.0
│ ├─┬ read-pkg-up@1.0.1
│ │ ├── find-up@1.1.2
│ │ └─┬ read-pkg@1.1.0
│ │ ├─┬ load-json-file@1.1.0
│ │ │ ├─┬ parse-json@2.2.0
│ │ │ │ └─┬ error-ex@1.3.2
│ │ │ │ └── is-arrayish@0.2.1
│ │ │ ├── pify@2.3.0
│ │ │ └─┬ strip-bom@2.0.0
│ │ │ └── is-utf8@0.2.1
│ │ └── path-type@1.1.0
│ ├── require-directory@2.1.1
│ ├── require-main-filename@1.0.1
│ ├── set-blocking@2.0.0
│ ├─┬ string-width@1.0.2
│ │ ├── code-point-at@1.1.0
│ │ └─┬ is-fullwidth-code-point@1.0.0
│ │ └── number-is-nan@1.0.1
│ ├── which-module@1.0.0
│ ├── y18n@3.2.1
│ └─┬ yargs-parser@4.2.1
│ └── camelcase@3.0.0
├─┬ electron-rebuild@1.8.2
│ ├── colors@1.3.2
│ ├─┬ debug@2.6.9
│ │ └── ms@2.0.0
│ ├── detect-libc@1.0.3
│ ├─┬ fs-extra@3.0.1
│ │ ├── graceful-fs@4.1.11
│ │ ├── jsonfile@3.0.1
│ │ └── universalify@0.1.2
│ ├── node-abi@2.4.3
│ ├─┬ node-gyp@3.8.0
│ │ ├── fstream@1.0.11
│ │ ├─┬ nopt@3.0.6
│ │ │ └── abbrev@1.1.1
│ │ ├─┬ npmlog@4.1.2
│ │ │ ├─┬ are-we-there-yet@1.1.5
│ │ │ │ ├── delegates@1.0.0
│ │ │ │ └─┬ readable-stream@2.3.6
│ │ │ │ ├── isarray@1.0.0
│ │ │ │ └── string_decoder@1.1.1
│ │ │ ├── console-control-strings@1.1.0
│ │ │ └─┬ gauge@2.7.4
│ │ │ ├── aproba@1.2.0
│ │ │ ├── has-unicode@2.0.1
│ │ │ └── wide-align@1.1.3
│ │ ├─┬ osenv@0.1.5
│ │ │ └── os-homedir@1.0.2
│ │ ├── semver@5.3.0
│ │ ├─┬ tar@2.2.1
│ │ │ └── block-stream@0.0.9
│ │ └─┬ which@1.3.1
│ │ └── isexe@2.0.0
│ ├─┬ ora@1.4.0
│ │ ├─┬ cli-cursor@2.1.0
│ │ │ └─┬ restore-cursor@2.0.0
│ │ │ └─┬ onetime@2.0.1
│ │ │ └── mimic-fn@1.2.0
│ │ ├── cli-spinners@1.3.1
│ │ └── log-symbols@2.2.0
│ ├── rimraf@2.6.2
│ ├─┬ spawn-rx@2.0.12
│ │ ├── lodash.assign@4.2.0
│ │ └─┬ rxjs@5.5.12
│ │ └── symbol-observable@1.0.1
│ └─┬ yargs@7.1.0
│ ├── camelcase@3.0.0
│ └── yargs-parser@5.0.0
├── ncp@2.0.0
├─┬ node-static@0.7.10
│ ├── mime@1.6.0
│ └─┬ optimist@0.6.1
│ ├── minimist@0.0.10
│ └── wordwrap@0.0.3
├─┬ request@2.88.0
│ ├── aws-sign2@0.7.0
│ ├── aws4@1.8.0
│ ├── caseless@0.12.0
│ ├─┬ combined-stream@1.0.6
│ │ └── delayed-stream@1.0.0
│ ├── extend@3.0.2
│ ├── forever-agent@0.6.1
│ ├─┬ form-data@2.3.2
│ │ └── asynckit@0.4.0
│ ├─┬ har-validator@5.1.0
│ │ └── har-schema@2.0.0
│ ├─┬ http-signature@1.2.0
│ │ ├── assert-plus@1.0.0
│ │ ├─┬ jsprim@1.4.1
│ │ │ ├── extsprintf@1.3.0
│ │ │ ├── json-schema@0.2.3
│ │ │ └── verror@1.10.0
│ │ └─┬ sshpk@1.14.2
│ │ ├── asn1@0.2.4
│ │ ├── bcrypt-pbkdf@1.0.2
│ │ ├── dashdash@1.14.1
│ │ ├── ecc-jsbn@0.1.2
│ │ ├── getpass@0.1.7
│ │ ├── jsbn@0.1.1
│ │ ├── safer-buffer@2.1.2
│ │ └── tweetnacl@0.14.5
│ ├── is-typedarray@1.0.0
│ ├── isstream@0.1.2
│ ├── json-stringify-safe@5.0.1
│ ├─┬ mime-types@2.1.20
│ │ └── mime-db@1.36.0
│ ├── oauth-sign@0.9.0
│ ├── performance-now@2.1.0
│ ├── qs@6.5.2
│ ├── safe-buffer@5.1.2
│ ├─┬ tough-cookie@2.4.3
│ │ ├── psl@1.1.29
│ │ └── punycode@1.4.1
│ ├── tunnel-agent@0.6.0
│ └── uuid@3.3.2
├─┬ serialport@4.0.7
│ ├── bindings@1.2.1
│ ├── commander@2.17.1
│ ├─┬ lie@3.3.0
│ │ └── immediate@3.0.6
│ ├── nan@2.11.0
│ ├─┬ node-pre-gyp@0.6.32
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├─┬ nopt@3.0.6
│ │ │ └── abbrev@1.0.9
│ │ ├─┬ npmlog@4.0.1
│ │ │ ├─┬ are-we-there-yet@1.1.2
│ │ │ │ ├── delegates@1.0.0
│ │ │ │ └─┬ readable-stream@2.2.2
│ │ │ │ ├── buffer-shims@1.0.0
│ │ │ │ ├── core-util-is@1.0.2
│ │ │ │ ├── inherits@2.0.3
│ │ │ │ ├── isarray@1.0.0
│ │ │ │ ├── process-nextick-args@1.0.7
│ │ │ │ ├── string_decoder@0.10.31
│ │ │ │ └── util-deprecate@1.0.2
│ │ │ ├── console-control-strings@1.1.0
│ │ │ ├─┬ gauge@2.7.2
│ │ │ │ ├── aproba@1.0.4
│ │ │ │ ├── has-unicode@2.0.1
│ │ │ │ ├── object-assign@4.1.0
│ │ │ │ ├── signal-exit@3.0.2
│ │ │ │ ├─┬ string-width@1.0.2
│ │ │ │ │ ├── code-point-at@1.1.0
│ │ │ │ │ └─┬ is-fullwidth-code-point@1.0.0
│ │ │ │ │ └── number-is-nan@1.0.1
│ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ └── ansi-regex@2.0.0
│ │ │ │ ├── supports-color@0.2.0
│ │ │ │ └── wide-align@1.1.0
│ │ │ └── set-blocking@2.0.0
│ │ ├─┬ rc@1.1.6
│ │ │ ├── deep-extend@0.4.1
│ │ │ ├── ini@1.3.4
│ │ │ ├── minimist@1.2.0
│ │ │ └── strip-json-comments@1.0.4
│ │ ├─┬ request@2.79.0
│ │ │ ├── aws-sign2@0.6.0
│ │ │ ├── aws4@1.5.0
│ │ │ ├── caseless@0.11.0
│ │ │ ├─┬ combined-stream@1.0.5
│ │ │ │ └── delayed-stream@1.0.0
│ │ │ ├── extend@3.0.0
│ │ │ ├── forever-agent@0.6.1
│ │ │ ├─┬ form-data@2.1.2
│ │ │ │ └── asynckit@0.4.0
│ │ │ ├─┬ har-validator@2.0.6
│ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ ├── escape-string-regexp@1.0.5
│ │ │ │ │ ├─┬ has-ansi@2.0.0
│ │ │ │ │ │ └── ansi-regex@2.0.0
│ │ │ │ │ ├─┬ strip-ansi@3.0.1
│ │ │ │ │ │ └── ansi-regex@2.0.0
│ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ ├─┬ is-my-json-valid@2.15.0
│ │ │ │ │ ├── generate-function@2.0.0
│ │ │ │ │ ├─┬ generate-object-property@1.2.0
│ │ │ │ │ │ └── is-property@1.0.2
│ │ │ │ │ ├── jsonpointer@4.0.0
│ │ │ │ │ └── xtend@4.0.1
│ │ │ │ └─┬ pinkie-promise@2.0.1
│ │ │ │ └── pinkie@2.0.4
│ │ │ ├─┬ hawk@3.1.3
│ │ │ │ ├── boom@2.10.1
│ │ │ │ ├── cryptiles@2.0.5
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └── sntp@1.0.9
│ │ │ ├─┬ http-signature@1.1.1
│ │ │ │ ├── assert-plus@0.2.0
│ │ │ │ ├─┬ jsprim@1.3.1
│ │ │ │ │ ├── extsprintf@1.0.2
│ │ │ │ │ ├── json-schema@0.2.3
│ │ │ │ │ └── verror@1.3.6
│ │ │ │ └─┬ sshpk@1.10.1
│ │ │ │ ├── asn1@0.2.3
│ │ │ │ ├── assert-plus@1.0.0
│ │ │ │ ├── bcrypt-pbkdf@1.0.0
│ │ │ │ ├── dashdash@1.14.1
│ │ │ │ ├── ecc-jsbn@0.1.1
│ │ │ │ ├── getpass@0.1.6
│ │ │ │ ├── jodid25519@1.0.2
│ │ │ │ ├── jsbn@0.1.0
│ │ │ │ └── tweetnacl@0.14.4
│ │ │ ├── is-typedarray@1.0.0
│ │ │ ├── isstream@0.1.2
│ │ │ ├── json-stringify-safe@5.0.1
│ │ │ ├─┬ mime-types@2.1.13
│ │ │ │ └── mime-db@1.25.0
│ │ │ ├── oauth-sign@0.8.2
│ │ │ ├── qs@6.3.0
│ │ │ ├── stringstream@0.0.5
│ │ │ ├─┬ tough-cookie@2.3.2
│ │ │ │ └── punycode@1.4.1
│ │ │ ├── tunnel-agent@0.4.3
│ │ │ └── uuid@3.0.1
│ │ ├─┬ rimraf@2.5.4
│ │ │ └─┬ glob@7.1.1
│ │ │ ├── fs.realpath@1.0.0
│ │ │ ├─┬ inflight@1.0.6
│ │ │ │ └── wrappy@1.0.2
│ │ │ ├── inherits@2.0.3
│ │ │ ├─┬ minimatch@3.0.3
│ │ │ │ └─┬ brace-expansion@1.1.6
│ │ │ │ ├── balanced-match@0.4.2
│ │ │ │ └── concat-map@0.0.1
│ │ │ ├─┬ once@1.4.0
│ │ │ │ └── wrappy@1.0.2
│ │ │ └── path-is-absolute@1.0.1
│ │ ├── semver@5.3.0
│ │ ├─┬ tar@2.2.1
│ │ │ ├── block-stream@0.0.9
│ │ │ ├─┬ fstream@1.0.10
│ │ │ │ └── graceful-fs@4.1.11
│ │ │ └── inherits@2.0.3
│ │ └─┬ tar-pack@3.3.0
│ │ ├─┬ debug@2.2.0
│ │ │ └── ms@0.7.1
│ │ ├─┬ fstream@1.0.10
│ │ │ ├── graceful-fs@4.1.11
│ │ │ └── inherits@2.0.3
│ │ ├─┬ fstream-ignore@1.0.5
│ │ │ ├── inherits@2.0.3
│ │ │ └─┬ minimatch@3.0.3
│ │ │ └─┬ brace-expansion@1.1.6
│ │ │ ├── balanced-match@0.4.2
│ │ │ └── concat-map@0.0.1
│ │ ├─┬ once@1.3.3
│ │ │ └── wrappy@1.0.2
│ │ ├─┬ readable-stream@2.1.5
│ │ │ ├── buffer-shims@1.0.0
│ │ │ ├── core-util-is@1.0.2
│ │ │ ├── inherits@2.0.3
│ │ │ ├── isarray@1.0.0
│ │ │ ├── process-nextick-args@1.0.7
│ │ │ ├── string_decoder@0.10.31
│ │ │ └── util-deprecate@1.0.2
│ │ └── uid-number@0.0.6
│ └─┬ object.assign@4.1.0
│ ├── define-properties@1.1.3
│ ├── function-bind@1.1.1
│ ├── has-symbols@1.0.0
│ └── object-keys@1.0.12
├─┬ socket.io@1.7.4
│ ├─┬ debug@2.3.3
│ │ └── ms@0.7.2
│ ├─┬ engine.io@1.8.5
│ │ ├─┬ accepts@1.3.3
│ │ │ └── negotiator@0.6.1
│ │ ├── base64id@1.0.0
│ │ ├── cookie@0.3.1
│ │ ├─┬ debug@2.3.3
│ │ │ └── ms@0.7.2
│ │ └─┬ engine.io-parser@1.3.2
│ │ ├── after@0.8.2
│ │ ├── arraybuffer.slice@0.0.6
│ │ ├── base64-arraybuffer@0.1.5
│ │ ├── blob@0.0.4
│ │ └── wtf-8@1.0.0
│ ├─┬ has-binary@0.1.7
│ │ └── isarray@0.0.1
│ ├── object-assign@4.1.0
│ ├─┬ socket.io-adapter@0.5.0
│ │ └─┬ debug@2.3.3
│ │ └── ms@0.7.2
│ ├─┬ socket.io-client@1.7.4
│ │ ├── backo2@1.0.2
│ │ ├── component-bind@1.0.0
│ │ ├── component-emitter@1.2.1
│ │ ├─┬ debug@2.3.3
│ │ │ └── ms@0.7.2
│ │ ├─┬ engine.io-client@1.8.5
│ │ │ ├── component-emitter@1.2.1
│ │ │ ├── component-inherit@0.0.3
│ │ │ ├─┬ debug@2.3.3
│ │ │ │ └── ms@0.7.2
│ │ │ ├── has-cors@1.1.0
│ │ │ ├── parsejson@0.0.3
│ │ │ ├── parseqs@0.0.5
│ │ │ ├── xmlhttprequest-ssl@1.5.3
│ │ │ └── yeast@0.1.2
│ │ ├── indexof@0.0.1
│ │ ├── object-component@0.0.3
│ │ ├─┬ parseuri@0.0.5
│ │ │ └─┬ better-assert@1.0.2
│ │ │ └── callsite@1.0.0
│ │ └── to-array@0.1.4
│ └─┬ socket.io-parser@2.3.1
│ ├── component-emitter@1.1.2
│ ├─┬ debug@2.2.0
│ │ └── ms@0.7.1
│ └── json3@3.3.2
└─┬ ws@1.1.5
├── options@0.0.6
└── ultron@1.0.2

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-win@~2.1.1 (node_modules/7zip-bin/node_modules/7zip-bin-win):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for 7zip-bin-win@2.1.1: wanted {“os”:“win32”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“arm”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-mac@~1.0.1 (node_modules/7zip-bin/node_modules/7zip-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for 7zip-bin-mac@1.0.1: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“arm”})

*******************************************************************

-When trying to run the server I get the following return:

pi@raspberrypi:~/lw.comm-server $ npm start

lw.comm-server@4.0.131 start /home/pi/lw.comm-server
echo “Please run ‘npm run dist’ to create a local installer, or run ‘npm run nightlylinux’ or ‘npm run nightlywindows’ to build distributable installers for each platform”

Please run ‘npm run dist’ to create a local installer, or run ‘npm run nightlylinux’ or ‘npm run nightlywindows’ to build distributable installers for each platform

I’ve also tested to connect the to the correct IP and port:8000 using by using chromium and safari locally on my Mac.

But all I get is connection refused…

Now what?

Best Regards.
ES

try to start the server with “node server.js”

But it looks like serialport lib was not installed. If so, try “npm install serialport”

@cprezzi

I tried to run “nom install serialport” and got the following return:

Like I stated in the first post, it seems like EmergingTechnologyAdvisors have deleted their git.

**************************************************************

pi@raspberrypi_lite:~ $ cd lw.comm-server/
pi@raspberrypi_lite:~/lw.comm-server $ npm install serialport

serialport@4.0.7 install /home/pi/lw.comm-server/node_modules/serialport
node-pre-gyp install -fallback-to-build

node-pre-gyp ERR! Tried to download(404): https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v48-linux-arm.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@6.14.4 (node-v48 ABI) (falling back to source compile with node-gyp)
make: Entering directory ‘/home/pi/lw.comm-server/node_modules/serialport/build’
CXX(target) Release/obj.target/serialport/src/serialport.o
…/src/serialport.cpp: In function 'int getIntFromObject(v8::Localv8::Object, std::cxx11::string)':
…/src/serialport.cpp:90:52: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return getValueFromObject(options, key)>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^
…/src/serialport.cpp: In function ‘double getDoubleFromObject(v8::Localv8::Object, std::__cxx11::string)’:
…/src/serialport.cpp:102:53: warning: ‘v8::Localv8::Number v8::Value::ToNumber() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
return getValueFromObject(options, key)>ToNumber()>NumberValue();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8178:15: note: declared here
Local Value::ToNumber() const {
^

…/src/serialport.cpp: In function ‘void EIO_AfterOpen(uv_work_t*)’:
…/src/serialport.cpp:174:31: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
int fd = argv[1]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^
…/src/serialport.cpp:180:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value*) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(2, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^
~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:193:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^
…/src/serialport.cpp:217:116: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
baton>baudRate = Nan::Get(options, Nan::Newv8::String(“baudRate”).ToLocalChecked()).ToLocalChecked()>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^
~~
…/src/serialport.cpp: In function ‘void EIO_AfterUpdate(uv_work_t*)’:
…/src/serialport.cpp:240:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Write(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:252:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterWrite(uv_work_t
)’:
…/src/serialport.cpp:339:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:369:32: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
baton>fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterClose(uv_work_t
)’:
…/src/serialport.cpp:403:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function 'void EIO_AfterList(uv_work_t
)’:
…/src/serialport.cpp:465:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [Wdeprecated-declarations]
data>callback.Call(2, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:480:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterFlush(uv_work_t
)’:
…/src/serialport.cpp:516:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(2, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:528:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterSet(uv_work_t
)’:
…/src/serialport.cpp:573:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport.cpp:585:29: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
int fd = info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport.cpp: In function 'void EIO_AfterDrain(uv_work_t
)’:
…/src/serialport.cpp:617:30: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value) const’ is deprecated [-Wdeprecated-declarations]
data>callback.Call(1, argv);
^
In file included from …/src/./serialport.h:7:0,
from …/src/serialport.cpp:1:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
CXX(target) Release/obj.target/serialport/src/serialport_unix.o
…/src/serialport_unix.cpp: In function 'OpenBatonPlatformOptions
ParsePlatformOptions(const v8::Localv8::Object&)’:
…/src/serialport_unix.cpp:44:109: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
result>vmin = Nan::Get(options, Nan::Newv8::String(“vmin”).ToLocalChecked()).ToLocalChecked()>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport_unix.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
…/src/serialport_unix.cpp:45:111: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
result>vtime = Nan::Get(options, Nan::Newv8::String(“vtime”).ToLocalChecked()).ToLocalChecked()>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/./serialport.h:7,
from …/src/serialport_unix.cpp:1:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
CXX(target) Release/obj.target/serialport/src/serialport_poller.o
…/src/serialport_poller.cpp: In member function ‘void SerialportPoller::callCallback(int)’:
…/src/serialport_poller.cpp:47:26: warning: ‘v8::Localv8::Value Nan::Callback::Call(int, v8::Localv8::Value*) const’ is deprecated [Wdeprecated-declarations]
callback
>Call(1, argv);
^
In file included from …/src/serialport_poller.cpp:5:0:
…/…/nan/nan.h:1647:3: note: declared here
Call(int argc, v8::Localv8::Value argv[]) const {
^~~~
…/src/serialport_poller.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE SerialportPoller::New(Nan::NAN_METHOD_ARGS_TYPE)’:
…/src/serialport_poller.cpp:86:31: warning: ‘v8::Localv8::Int32 v8::Value::ToInt32() const’ is deprecated: Use maybe version [Wdeprecated-declarations]
obj>fd
= info[0]>ToInt32()>Int32Value();
^
In file included from /home/pi/.node-gyp/6.14.4/include/node/node.h:42:0,
from …/…/nan/nan.h:52,
from …/src/serialport_poller.cpp:5:
/home/pi/.node-gyp/6.14.4/include/node/v8.h:8214:14: note: declared here
Local Value::ToInt32() const {
^~~~~
SOLINK_MODULE(target) Release/obj.target/serialport.node
COPY Release/serialport.node
make: Leaving directory ‘/home/pi/lw.comm-server/node_modules/serialport/build’
lw.comm-server@4.0.131 /home/pi/lw.comm-server
└── serialport@4.0.7

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-mac@~1.0.1 (node_modules/7zip-bin/node_modules/7zip-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for 7zip-bin-mac@1.0.1: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“arm”})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: 7zip-bin-win@~2.1.1 (node_modules/7zip-bin/node_modules/7zip-bin-win):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for 7zip-bin-win@2.1.1: wanted {“os”:“win32”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“arm”})
pi@raspberrypi_lite:~/lw.comm-server $

********************************************************************

Can this be of any use?

https://github.com/node-serialport/node-serialport/archive/serialport@7.0.2.tar.gz

No, you must use serialport v4.0.7.
It looks like they have just changed the path and forgot to correct the npm install link. You could find the correct version here: https://github.com/node-serialport/node-serialport/releases/tag/4.0.7

@cprezzi ,
Awesome, I will thirty this tonight.
thank you for your continued support!

BR
ES