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

gplus
(Erlend Steinsland) #1

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 (

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:

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

(Mike Thornbury) #2

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

(Erlend Steinsland) #3

@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.

(Claudio Prezzi) #4

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 .

(Erlend Steinsland) #5

@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.

(Claudio Prezzi) #6

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?

(Mike Thornbury) #7

@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.

(Erlend Steinsland) #8

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: https://nodejs.org/en/download/

-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 https://github.com/LaserWeb/lw.comm-server.git

-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

(Claudio Prezzi) #9

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

(Claudio Prezzi) #10

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

(Erlend Steinsland) #11

@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 $

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

(Erlend Steinsland) #12

Can this be of any use?

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

(Claudio Prezzi) #13

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

(Erlend Steinsland) #14

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

BR
ES