candrholdings / slack-cli

A command line interface for Slack implemented using node.
https://candrholdings.github.io/slack-cli/
287 stars 31 forks source link

Can't get slack-cli to install #12

Open emoshaya opened 8 years ago

emoshaya commented 8 years ago

Below is the output with the errors: npm install -g slack-cli

/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/bin/slackcli -> /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/bin/cmd.js

> bufferutil@1.1.0 install /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/node_modules/bufferutil
> node-gyp rebuild

make: Entering directory `/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/node_modules/bufferutil/build'
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
In file included from ../src/bufferutil.cc:16:0:
../../nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                         ^
../../nan/nan.h:256:25: error: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                         ^
../../nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
     , node::smalloc::FreeCallback callback
             ^
../../nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’
     , node::smalloc::FreeCallback callback
                                   ^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
../../nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^
../../nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
../../nan/nan.h:672:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
../../nan/nan.h:672:67: note: candidates are:
In file included from ../src/bufferutil.cc:10:0:
/var/lib/jenkins/.node-gyp/5.3.0/include/node/node_buffer.h:31:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match>
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
/var/lib/jenkins/.node-gyp/5.3.0/include/node/node_buffer.h:31:40: note:   no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’
/var/lib/jenkins/.node-gyp/5.3.0/include/node/node_buffer.h:43:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match>
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
/var/lib/jenkins/.node-gyp/5.3.0/include/node/node_buffer.h:43:40: note:   no known conversion for argument 2 from ‘const char*’ to ‘char*’
In file included from ../src/bufferutil.cc:16:0:
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
../../nan/nan.h:676:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), size);
                                                             ^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
../../nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
            ^
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
make: Leaving directory `/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/node_modules/bufferutil/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.10.0-229.20.1.el7.x86_64
gyp ERR! command "/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/bin/node" "/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/node_modules/bufferutil
gyp ERR! node -v v5.3.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm WARN install:bufferutil@1.1.0 bufferutil@1.1.0 install: `node-gyp rebuild`
npm WARN install:bufferutil@1.1.0 Exit status 1

> utf-8-validate@1.1.0 install /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/node_modules/utf-8-validate
> node-gyp rebuild

make: Entering directory `/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/node_modules/utf-8-validate/build'
  CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../src/validation.cc:15:0:
../../nan/nan.h:261:25: error: redefinition of ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                         ^
../../nan/nan.h:256:25: error: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)’ previously declared here
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                         ^
../../nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
     , node::smalloc::FreeCallback callback
             ^
../../nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’
     , node::smalloc::FreeCallback callback
                                   ^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
../../nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^
../../nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
../../nan/nan.h:672:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
../../nan/nan.h:672:67: note: candidates are:
In file included from ../src/validation.cc:10:0:
/var/lib/jenkins/.node-gyp/5.3.0/include/node/node_buffer.h:31:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match>
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
/var/lib/jenkins/.node-gyp/5.3.0/include/node/node_buffer.h:31:40: note:   no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’
/var/lib/jenkins/.node-gyp/5.3.0/include/node/node_buffer.h:43:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match>
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
/var/lib/jenkins/.node-gyp/5.3.0/include/node/node_buffer.h:43:40: note:   no known conversion for argument 2 from ‘const char*’ to ‘char*’
In file included from ../src/validation.cc:15:0:
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
../../nan/nan.h:676:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), size);
                                                             ^
../../nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
../../nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
            ^
make: *** [Release/obj.target/validation/src/validation.o] Error 1
make: Leaving directory `/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/node_modules/utf-8-validate/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 3.10.0-229.20.1.el7.x86_64
gyp ERR! command "/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/bin/node" "/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib/node_modules/slack-cli/node_modules/utf-8-validate
gyp ERR! node -v v5.3.0
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm WARN install:utf-8-validate@1.1.0 utf-8-validate@1.1.0 install: `node-gyp rebuild`
npm WARN install:utf-8-validate@1.1.0 Exit status 1
/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/NodeJS_5.3.0/lib
└─┬ slack-cli@1.0.18 
  ├── async@0.9.2 
  ├─┬ request@2.72.0 
  │ ├── aws-sign2@0.6.0 
  │ ├── aws4@1.4.1 
  │ ├─┬ bl@1.1.2 
  │ │ └─┬ readable-stream@2.0.6 
  │ │   ├── core-util-is@1.0.2 
  │ │   ├── inherits@2.0.1 
  │ │   ├── isarray@1.0.0 
  │ │   ├── process-nextick-args@1.0.7 
  │ │   ├── string_decoder@0.10.31 
  │ │   └── util-deprecate@1.0.2 
  │ ├── 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@1.0.0-rc4 
  │ │ └── async@1.5.2 
  │ ├─┬ 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 
  │ │ │ └── supports-color@2.0.0 
  │ │ ├─┬ commander@2.9.0 
  │ │ │ └── graceful-readlink@1.0.1 
  │ │ ├─┬ is-my-json-valid@2.13.1 
  │ │ │ ├── generate-function@2.0.0 
  │ │ │ ├─┬ generate-object-property@1.2.0 
  │ │ │ │ └── is-property@1.0.2 
  │ │ │ ├── jsonpointer@2.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.2.2 
  │ │ │ ├── extsprintf@1.0.2 
  │ │ │ ├── json-schema@0.2.2 
  │ │ │ └── verror@1.3.6 
  │ │ └─┬ sshpk@1.8.3 
  │ │   ├── asn1@0.2.3 
  │ │   ├── assert-plus@1.0.0 
  │ │   ├─┬ dashdash@1.14.0 
  │ │   │ └── assert-plus@1.0.0 
  │ │   ├── ecc-jsbn@0.1.1 
  │ │   ├─┬ getpass@0.1.6 
  │ │   │ └── assert-plus@1.0.0 
  │ │   ├── jodid25519@1.0.2 
  │ │   ├── jsbn@0.1.0 
  │ │   └── tweetnacl@0.13.3 
  │ ├── is-typedarray@1.0.0 
  │ ├── isstream@0.1.2 
  │ ├── json-stringify-safe@5.0.1 
  │ ├─┬ mime-types@2.1.11 
  │ │ └── mime-db@1.23.0 
  │ ├── node-uuid@1.4.7 
  │ ├── oauth-sign@0.8.2 
  │ ├── qs@6.1.0 
  │ ├── stringstream@0.0.5 
  │ ├── tough-cookie@2.2.2 
  │ └── tunnel-agent@0.4.3 
  ├── stdio@0.2.7 
  ├─┬ winston@1.1.2 
  │ ├── async@1.0.0 
  │ ├── colors@1.0.3 
  │ ├── cycle@1.0.3 
  │ ├── eyes@0.1.8 
  │ ├── pkginfo@0.3.1 
  │ └── stack-trace@0.0.9 
  └─┬ ws@0.7.2 
    ├── options@0.0.6 
    └── ultron@1.0.2 
SummerSun commented 8 years ago

Could not install it on windows either. Windows 10 node version V4.4.6. Pasted the detailed error for your information. Replace the user name with . Thank you.

PS C:\Users\<userName>> npm install -g slack-cli

> bufferutil@1.1.0 install C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil
> node-gyp rebuild

C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  bufferutil.cc
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(263): error C2995: 'v8::Local<T> _NanEnsureLocal(v8::Local<T>)' : function template has already been defined [C:\Users\<userName>\AppData\Roaming\npm\node
_modules\slack-cli\node_modules\ws\node_modules\bufferutil\build\bufferutil.vcxproj]
          C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(256) : see declaration of '_NanEnsureLocal'
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(661): error C3083: 'smalloc': the symbol to the left of a '::' must be a type [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules
\ws\node_modules\bufferutil\build\bufferutil.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(661): error C2039: 'FreeCallback' : is not a member of 'node' [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules
\bufferutil\build\bufferutil.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(661): error C2061: syntax error : identifier 'FreeCallback' [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\b
ufferutil\build\bufferutil.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(665): error C2065: 'callback' : undeclared identifier [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferu
til\build\bufferutil.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(665): error C2065: 'hint' : undeclared identifier [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\
build\bufferutil.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(672): error C2665: 'node::Buffer::New' : none of the 4 overloads could convert all the argument types [C:\Users\<userName>\AppData\Roaming\npm\node_module
s\slack-cli\node_modules\ws\node_modules\bufferutil\build\bufferutil.vcxproj]
          C:\Users\<userName>\.node-gyp\4.4.6\include\node\node_buffer.h(43): could be 'v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate *,char *,size_t)'
          C:\Users\<userName>\.node-gyp\4.4.6\include\node\node_buffer.h(31): or       'v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate *,v8::Local<v8::String>,node::encoding)'
          while trying to match the argument list '(v8::Isolate *, const char *, uint32_t)'
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(676): error C2664: 'v8::Local<v8::Object>::Local(const v8::Local<v8::Object> &)' : cannot convert argument 1 from 'v8::MaybeLocal<v8::Object>' to 'co
nst v8::Local<v8::Object> &' [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\build\bufferutil.vcxproj]
          Reason: cannot convert from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object>'
          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(683): error C2039: 'Use' : is not a member of 'node::Buffer' [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\
bufferutil\build\bufferutil.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\node_modules\nan\nan.h(683): error C3861: 'Use': identifier not found [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil\bui
ld\bufferutil.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `msbuild` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\bufferutil
gyp ERR! node -v v4.4.6
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok

> utf-8-validate@1.1.0 install C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate
> node-gyp rebuild

C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  validation.cc
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(263): error C2995: 'v8::Local<T> _NanEnsureLocal(v8::Local<T>)' : function template has already been defined [C:\Users\<userName>\AppData\Roaming\npm\
node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\build\validation.vcxproj]
          C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(256) : see declaration of '_NanEnsureLocal'
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(661): error C3083: 'smalloc': the symbol to the left of a '::' must be a type [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_mod
ules\ws\node_modules\utf-8-validate\build\validation.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(661): error C2039: 'FreeCallback' : is not a member of 'node' [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_mod
ules\utf-8-validate\build\validation.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(661): error C2061: syntax error : identifier 'FreeCallback' [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modul
es\utf-8-validate\build\validation.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(665): error C2065: 'callback' : undeclared identifier [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf
-8-validate\build\validation.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(665): error C2065: 'hint' : undeclared identifier [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-v
alidate\build\validation.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(672): error C2665: 'node::Buffer::New' : none of the 4 overloads could convert all the argument types [C:\Users\<userName>\AppData\Roaming\npm\node_mo
dules\slack-cli\node_modules\ws\node_modules\utf-8-validate\build\validation.vcxproj]
          C:\Users\<userName>\.node-gyp\4.4.6\include\node\node_buffer.h(43): could be 'v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate *,char *,size_t)'
          C:\Users\<userName>\.node-gyp\4.4.6\include\node\node_buffer.h(31): or       'v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate *,v8::Local<v8::String>,node::encoding)'
          while trying to match the argument list '(v8::Isolate *, const char *, uint32_t)'
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(676): error C2664: 'v8::Local<v8::Object>::Local(const v8::Local<v8::Object> &)' : cannot convert argument 1 from 'v8::MaybeLocal<v8::Object>' to
 'const v8::Local<v8::Object> &' [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\build\validation.vcxproj]
          Reason: cannot convert from 'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object>'
          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(683): error C2039: 'Use' : is not a member of 'node::Buffer' [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modu
les\utf-8-validate\build\validation.vcxproj]
C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate\node_modules\nan\nan.h(683): error C3861: 'Use': identifier not found [C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-vali
date\build\validation.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `msbuild` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\node_modules\ws\node_modules\utf-8-validate
gyp ERR! node -v v4.4.6
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN optional dep failed, continuing bufferutil@1.1.0
npm WARN optional dep failed, continuing utf-8-validate@1.1.0
C:\Users\<userName>\AppData\Roaming\npm\slackcli -> C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli\bin\cmd.js
slack-cli@1.0.18 C:\Users\<userName>\AppData\Roaming\npm\node_modules\slack-cli
├── async@0.9.2
├── stdio@0.2.7
├── winston@1.1.2 (cycle@1.0.3, stack-trace@0.0.9, eyes@0.1.8, isstream@0.1.2, async@1.0.0, pkginfo@0.3.1, colors@1.0.3)
├── request@2.72.0 (tunnel-agent@0.4.3, aws-sign2@0.6.0, oauth-sign@0.8.2, forever-agent@0.6.1, is-typedarray@1.0.0, caseless@0.11.0, stringstream@0.0.5, isstream@0.1.2, aws4@1.4.1, json-stringify-safe@5.0.1, extend@3.0.0, tough-cookie@2.2.2, node-uuid@1.4.7, combined-stream@1.0.5, qs@6.1.0, mime-types@2.1.11, form-data@1.0.0-rc4, bl@1.1.2, hawk@3.1.3, http-signature@1.1.1, har-validator@2.0.6)
└── ws@0.7.2 (options@0.0.6, ultron@1.0.2)
timbremer commented 8 years ago

Same error here with node 6.x on a GitLab shared runner running CoreOS:

$ npm install -g slack-cli
/usr/bin/slackcli -> /usr/lib/node_modules/slack-cli/bin/cmd.js

> bufferutil@1.1.0 install /usr/lib/node_modules/slack-cli/node_modules/bufferutil
> node-gyp rebuild

gyp WARN EACCES user "undefined" does not have permission to access the dev dir "/root/.node-gyp/6.3.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/slack-cli/node_modules/bufferutil/.node-gyp"
make: Entering directory '/usr/lib/node_modules/slack-cli/node_modules/bufferutil/build'
  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
In file included from ../src/bufferutil.cc:16:0:
../../nan/nan.h:261:25: error: redefinition of 'template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)'
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                         ^
../../nan/nan.h:256:25: note: 'template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)' previously declared here
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                         ^
../../nan/nan.h:473:20: error: variable or field 'NanAddGCEpilogueCallback' declared void
       v8::Isolate::GCEpilogueCallback callback
                    ^
../../nan/nan.h:473:7: error: 'GCEpilogueCallback' is not a member of 'v8::Isolate'
       v8::Isolate::GCEpilogueCallback callback
       ^
../../nan/nan.h:474:18: error: expected primary-expression before 'gc_type_filter'
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^
../../nan/nan.h:479:20: error: variable or field 'NanRemoveGCEpilogueCallback' declared void
       v8::Isolate::GCEpilogueCallback callback) {
                    ^
../../nan/nan.h:479:7: error: 'GCEpilogueCallback' is not a member of 'v8::Isolate'
       v8::Isolate::GCEpilogueCallback callback) {
       ^
../../nan/nan.h:484:20: error: variable or field 'NanAddGCPrologueCallback' declared void
       v8::Isolate::GCPrologueCallback callback
                    ^
../../nan/nan.h:484:7: error: 'GCPrologueCallback' is not a member of 'v8::Isolate'
       v8::Isolate::GCPrologueCallback callback
       ^
../../nan/nan.h:485:18: error: expected primary-expression before 'gc_type_filter'
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^
../../nan/nan.h:490:20: error: variable or field 'NanRemoveGCPrologueCallback' declared void
       v8::Isolate::GCPrologueCallback callback) {
                    ^
../../nan/nan.h:490:7: error: 'GCPrologueCallback' is not a member of 'v8::Isolate'
       v8::Isolate::GCPrologueCallback callback) {
       ^
../../nan/nan.h:661:13: error: 'node::smalloc' has not been declared
     , node::smalloc::FreeCallback callback
             ^
../../nan/nan.h:661:35: error: expected ',' or '...' before 'callback'
     , node::smalloc::FreeCallback callback
                                   ^
../../nan/nan.h: In function 'v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)':
../../nan/nan.h:665:50: error: 'callback' was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^
../../nan/nan.h:665:60: error: 'hint' was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^
../../nan/nan.h: In function 'v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)':
../../nan/nan.h:672:67: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
In file included from ../src/bufferutil.cc:10:0:
/usr/lib/node_modules/slack-cli/node_modules/bufferutil/.node-gyp/6.3.1/include/node/node_buffer.h:46:40: note: initializing argument 2 of 'v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t)'
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
In file included from ../src/bufferutil.cc:16:0:
../../nan/nan.h:672:67: error: could not convert 'node::Buffer::New(v8::Isolate::GetCurrent(), ((char*)data), ((size_t)size))' from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
../../nan/nan.h: In function 'v8::Local<v8::Object> NanNewBufferHandle(uint32_t)':
../../nan/nan.h:676:61: error: could not convert 'node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))' from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
     return node::Buffer::New(v8::Isolate::GetCurrent(), size);
                                                             ^
../../nan/nan.h: In function 'v8::Local<v8::Object> NanBufferUse(char*, uint32_t)':
../../nan/nan.h:683:12: error: 'Use' is not a member of 'node::Buffer'
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
            ^
../src/bufferutil.cc: In static member function 'static void BufferUtil::Initialize(v8::Handle<v8::Object>)':
../src/bufferutil.cc:30:52: error: call of overloaded 'NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [7], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))' is ambiguous
     NODE_SET_METHOD(t, "unmask", BufferUtil::Unmask);
                                                    ^
../src/bufferutil.cc:30:52: note: candidates are:
In file included from ../src/bufferutil.cc:8:0:
/usr/lib/node_modules/slack-cli/node_modules/bufferutil/.node-gyp/6.3.1/include/node/node.h:244:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
             ^
/usr/lib/node_modules/slack-cli/node_modules/bufferutil/.node-gyp/6.3.1/include/node/node.h:257:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
             ^
../src/bufferutil.cc:31:48: error: call of overloaded 'NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [5], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))' is ambiguous
     NODE_SET_METHOD(t, "mask", BufferUtil::Mask);
                                                ^
../src/bufferutil.cc:31:48: note: candidates are:
In file included from ../src/bufferutil.cc:8:0:
/usr/lib/node_modules/slack-cli/node_modules/bufferutil/.node-gyp/6.3.1/include/node/node.h:244:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
             ^
/usr/lib/node_modules/slack-cli/node_modules/bufferutil/.node-gyp/6.3.1/include/node/node.h:257:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
             ^
../src/bufferutil.cc:32:50: error: call of overloaded 'NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [6], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))' is ambiguous
     NODE_SET_METHOD(t, "merge", BufferUtil::Merge);
                                                  ^
../src/bufferutil.cc:32:50: note: candidates are:
In file included from ../src/bufferutil.cc:8:0:
/usr/lib/node_modules/slack-cli/node_modules/bufferutil/.node-gyp/6.3.1/include/node/node.h:244:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
             ^
/usr/lib/node_modules/slack-cli/node_modules/bufferutil/.node-gyp/6.3.1/include/node/node.h:257:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
             ^
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
bufferutil.target.mk:90: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: Leaving directory '/usr/lib/node_modules/slack-cli/node_modules/bufferutil/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 4.6.3-coreos
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/slack-cli/node_modules/bufferutil
gyp ERR! node -v v6.3.1
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok 
npm WARN install:bufferutil@1.1.0 bufferutil@1.1.0 install: `node-gyp rebuild`
npm WARN install:bufferutil@1.1.0 Exit status 1

> utf-8-validate@1.1.0 install /usr/lib/node_modules/slack-cli/node_modules/utf-8-validate
> node-gyp rebuild

gyp WARN EACCES user "undefined" does not have permission to access the dev dir "/root/.node-gyp/6.3.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/slack-cli/node_modules/utf-8-validate/.node-gyp"
make: Entering directory '/usr/lib/node_modules/slack-cli/node_modules/utf-8-validate/build'
  CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../src/validation.cc:15:0:
../../nan/nan.h:261:25: error: redefinition of 'template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)'
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                         ^
../../nan/nan.h:256:25: note: 'template<class T> v8::Local<T> _NanEnsureLocal(v8::Handle<T>)' previously declared here
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                         ^
../../nan/nan.h:473:20: error: variable or field 'NanAddGCEpilogueCallback' declared void
       v8::Isolate::GCEpilogueCallback callback
                    ^
../../nan/nan.h:473:7: error: 'GCEpilogueCallback' is not a member of 'v8::Isolate'
       v8::Isolate::GCEpilogueCallback callback
       ^
../../nan/nan.h:474:18: error: expected primary-expression before 'gc_type_filter'
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^
../../nan/nan.h:479:20: error: variable or field 'NanRemoveGCEpilogueCallback' declared void
       v8::Isolate::GCEpilogueCallback callback) {
                    ^
../../nan/nan.h:479:7: error: 'GCEpilogueCallback' is not a member of 'v8::Isolate'
       v8::Isolate::GCEpilogueCallback callback) {
       ^
../../nan/nan.h:484:20: error: variable or field 'NanAddGCPrologueCallback' declared void
       v8::Isolate::GCPrologueCallback callback
                    ^
../../nan/nan.h:484:7: error: 'GCPrologueCallback' is not a member of 'v8::Isolate'
       v8::Isolate::GCPrologueCallback callback
       ^
../../nan/nan.h:485:18: error: expected primary-expression before 'gc_type_filter'
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^
../../nan/nan.h:490:20: error: variable or field 'NanRemoveGCPrologueCallback' declared void
       v8::Isolate::GCPrologueCallback callback) {
                    ^
../../nan/nan.h:490:7: error: 'GCPrologueCallback' is not a member of 'v8::Isolate'
       v8::Isolate::GCPrologueCallback callback) {
       ^
../../nan/nan.h:661:13: error: 'node::smalloc' has not been declared
     , node::smalloc::FreeCallback callback
             ^
../../nan/nan.h:661:35: error: expected ',' or '...' before 'callback'
     , node::smalloc::FreeCallback callback
                                   ^
../../nan/nan.h: In function 'v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)':
../../nan/nan.h:665:50: error: 'callback' was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^
../../nan/nan.h:665:60: error: 'hint' was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^
../../nan/nan.h: In function 'v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)':
../../nan/nan.h:672:67: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
In file included from ../src/validation.cc:10:0:
/usr/lib/node_modules/slack-cli/node_modules/utf-8-validate/.node-gyp/6.3.1/include/node/node_buffer.h:46:40: note: initializing argument 2 of 'v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t)'
 NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                        ^
In file included from ../src/validation.cc:15:0:
../../nan/nan.h:672:67: error: could not convert 'node::Buffer::New(v8::Isolate::GetCurrent(), ((char*)data), ((size_t)size))' from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                   ^
../../nan/nan.h: In function 'v8::Local<v8::Object> NanNewBufferHandle(uint32_t)':
../../nan/nan.h:676:61: error: could not convert 'node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))' from 'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object>'
     return node::Buffer::New(v8::Isolate::GetCurrent(), size);
                                                             ^
../../nan/nan.h: In function 'v8::Local<v8::Object> NanBufferUse(char*, uint32_t)':
../../nan/nan.h:683:12: error: 'Use' is not a member of 'node::Buffer'
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
            ^
../src/validation.cc: In static member function 'static void Validation::Initialize(v8::Handle<v8::Object>)':
../src/validation.cc:112:62: error: call of overloaded 'NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [12], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))' is ambiguous
     NODE_SET_METHOD(t, "isValidUTF8", Validation::IsValidUTF8);
                                                              ^
../src/validation.cc:112:62: note: candidates are:
In file included from ../src/validation.cc:8:0:
/usr/lib/node_modules/slack-cli/node_modules/utf-8-validate/.node-gyp/6.3.1/include/node/node.h:244:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
             ^
/usr/lib/node_modules/slack-cli/node_modules/utf-8-validate/.node-gyp/6.3.1/include/node/node.h:257:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
             ^
validation.target.mk:90: recipe for target 'Release/obj.target/validation/src/validation.o' failed
make: Leaving directory '/usr/lib/node_modules/slack-cli/node_modules/utf-8-validate/build'
make: *** [Release/obj.target/validation/src/validation.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Linux 4.6.3-coreos
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/slack-cli/node_modules/utf-8-validate
gyp ERR! node -v v6.3.1
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok 
npm WARN install:utf-8-validate@1.1.0 utf-8-validate@1.1.0 install: `node-gyp rebuild`
npm WARN install:utf-8-validate@1.1.0 Exit status 1
/usr/lib
`-- slack-cli@1.0.18 
  +-- async@0.9.2 
  +-- request@2.74.0 
  | +-- aws-sign2@0.6.0 
  | +-- aws4@1.4.1 
  | +-- bl@1.1.2 
  | | `-- readable-stream@2.0.6 
  | |   +-- core-util-is@1.0.2 
  | |   +-- inherits@2.0.1 
  | |   +-- isarray@1.0.0 
  | |   +-- process-nextick-args@1.0.7 
  | |   +-- string_decoder@0.10.31 
  | |   `-- util-deprecate@1.0.2 
  | +-- 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@1.0.0-rc4 
  | | `-- async@1.5.2 
  | +-- 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 
  | | | `-- supports-color@2.0.0 
  | | +-- commander@2.9.0 
  | | | `-- graceful-readlink@1.0.1 
  | | +-- is-my-json-valid@2.13.1 
  | | | +-- generate-function@2.0.0 
  | | | +-- generate-object-property@1.2.0 
  | | | | `-- is-property@1.0.2 
  | | | +-- jsonpointer@2.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.0 
  | | | +-- extsprintf@1.0.2 
  | | | +-- json-schema@0.2.2 
  | | | `-- verror@1.3.6 
  | | `-- sshpk@1.9.2 
  | |   +-- asn1@0.2.3 
  | |   +-- assert-plus@1.0.0 
  | |   +-- dashdash@1.14.0 
  | |   | `-- assert-plus@1.0.0 
  | |   +-- ecc-jsbn@0.1.1 
  | |   +-- getpass@0.1.6 
  | |   | `-- assert-plus@1.0.0 
  | |   +-- jodid25519@1.0.2 
  | |   +-- jsbn@0.1.0 
  | |   `-- tweetnacl@0.13.3 
  | +-- is-typedarray@1.0.0 
  | +-- isstream@0.1.2 
  | +-- json-stringify-safe@5.0.1 
  | +-- mime-types@2.1.11 
  | | `-- mime-db@1.23.0 
  | +-- node-uuid@1.4.7 
  | +-- oauth-sign@0.8.2 
  | +-- qs@6.2.1 
  | +-- stringstream@0.0.5 
  | +-- tough-cookie@2.3.1 
  | `-- tunnel-agent@0.4.3 
  +-- stdio@0.2.7 
  +-- winston@1.1.2 
  | +-- async@1.0.0 
  | +-- colors@1.0.3 
  | +-- cycle@1.0.3 
  | +-- eyes@0.1.8 
  | +-- pkginfo@0.3.1 
  | `-- stack-trace@0.0.9 
  `-- ws@0.7.2 
    +-- options@0.0.6 
    `-- ultron@1.0.2
maciex commented 8 years ago

Did anyone of you found a solution for this problem?

pixelead0 commented 7 years ago

On macOS Sierra 10.12.2

~ $ npm install -g slack-cli
/usr/local/bin/slackcli -> /usr/local/lib/node_modules/slack-cli/bin/cmd.js

> bufferutil@1.1.0 install /usr/local/lib/node_modules/slack-cli/node_modules/bufferutil
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
../../nan/nan_new.h:34:56: warning: 'ToInt32' is deprecated [-Wdeprecated-declarations]
To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:8442:21: note: 'ToInt32' has been explicitly marked deprecated here
Local<Int32> Value::ToInt32() const {
                    ^
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
../../nan/nan_new.h:39:56: warning: 'ToUint32' is deprecated [-Wdeprecated-declarations]
To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:8436:22: note: 'ToUint32' has been explicitly marked deprecated here
Local<Uint32> Value::ToUint32() const {
                     ^
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:49:29: warning: 'New' is deprecated [-Wdeprecated-declarations]
  return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                            ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:4048:56: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
                                                       ^
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:166:30: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                             ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:173:30: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                             ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:205:22: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
  return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), value,
                     ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:2317:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:217:22: warning: 'NewExternal' is deprecated [-Wdeprecated-declarations]
  return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
                     ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:2355:38: note: 'NewExternal' has been explicitly marked deprecated here
                       Local<String> NewExternal(
                                     ^
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:237:30: warning: 'CompileUnbound' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                             ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1301:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../src/bufferutil.cc:16:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:244:30: warning: 'CompileUnbound' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                             ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1301:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../../nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../../nan/nan.h:289:39: warning: 'IdleNotification' is deprecated [-Wdeprecated-declarations]
    return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
                                      ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:6290:22: note: 'IdleNotification' has been explicitly marked deprecated here
                bool IdleNotification(int idle_time_in_ms));
                     ^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:473:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback
      ~~~~~~~~~~~~~^
../../nan/nan.h:479:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback) {
      ~~~~~~~~~~~~~^
../../nan/nan.h:484:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback
      ~~~~~~~~~~~~~^
../../nan/nan.h:490:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback) {
      ~~~~~~~~~~~~~^
../../nan/nan.h:569:15: error: no type named 'WeakCallbackData' in namespace 'v8'
    const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
          ~~~~^
../../nan/nan.h:569:31: error: expected ')'
    const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
                              ^
../../nan/nan.h:568:41: note: to match this '('
  static void _NanWeakCallbackDispatcher(
                                        ^
../../nan/nan.h:570:42: error: use of undeclared identifier 'data'
      _NanWeakCallbackInfo<T, P> *info = data.GetParameter();
                                         ^
../../nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../../nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node_buffer.h:46:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node_buffer.h:34:40: note: candidate function not viable: no known conversion from 'const char *' to 'v8::Local<v8::String>' for 2nd
      argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node_buffer.h:31:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node_buffer.h:39:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:676:12: error: no viable conversion from returned value of type 'v8::MaybeLocal<v8::Object>' to function return type 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:219:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:219:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:223:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
../../nan/nan.h:710:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                               ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/bufferutil.cc:16:
../../nan/nan.h:717:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                               ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
../src/bufferutil.cc:30:5: error: call to 'NODE_SET_METHOD' is ambiguous
    NODE_SET_METHOD(t, "unmask", BufferUtil::Unmask);
    ^~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:263:25: note: expanded from macro 'NODE_SET_METHOD'
#define NODE_SET_METHOD node::NODE_SET_METHOD
                        ^~~~~~~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:238:13: note: candidate function
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
            ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:251:13: note: candidate function
inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
            ^
../src/bufferutil.cc:31:5: error: call to 'NODE_SET_METHOD' is ambiguous
    NODE_SET_METHOD(t, "mask", BufferUtil::Mask);
    ^~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:263:25: note: expanded from macro 'NODE_SET_METHOD'
#define NODE_SET_METHOD node::NODE_SET_METHOD
                        ^~~~~~~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:238:13: note: candidate function
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
            ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:251:13: note: candidate function
inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
            ^
../src/bufferutil.cc:32:5: error: call to 'NODE_SET_METHOD' is ambiguous
    NODE_SET_METHOD(t, "merge", BufferUtil::Merge);
    ^~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:263:25: note: expanded from macro 'NODE_SET_METHOD'
#define NODE_SET_METHOD node::NODE_SET_METHOD
                        ^~~~~~~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:238:13: note: candidate function
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
            ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:251:13: note: candidate function
inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
            ^
In file included from ../src/bufferutil.cc:7:
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:230:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:414:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:230:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:424:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:230:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1514:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/bufferutil.cc:7:
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:230:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1632:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
12 warnings and 19 errors generated.
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.3.0
gyp ERR! command "/usr/local/Cellar/node/7.2.1/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/slack-cli/node_modules/bufferutil
gyp ERR! node -v v7.2.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

> utf-8-validate@1.1.0 install /usr/local/lib/node_modules/slack-cli/node_modules/utf-8-validate
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

  CXX(target) Release/obj.target/validation/src/validation.o
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
../../nan/nan_new.h:34:56: warning: 'ToInt32' is deprecated [-Wdeprecated-declarations]
To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:8442:21: note: 'ToInt32' has been explicitly marked deprecated here
Local<Int32> Value::ToInt32() const {
                    ^
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
../../nan/nan_new.h:39:56: warning: 'ToUint32' is deprecated [-Wdeprecated-declarations]
To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:8436:22: note: 'ToUint32' has been explicitly marked deprecated here
Local<Uint32> Value::ToUint32() const {
                     ^
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:49:29: warning: 'New' is deprecated [-Wdeprecated-declarations]
  return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                            ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:4048:56: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
                                                       ^
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:166:30: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                             ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:173:30: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                             ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:205:22: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
  return v8::String::NewFromOneByte(v8::Isolate::GetCurrent(), value,
                     ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:2317:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:217:22: warning: 'NewExternal' is deprecated [-Wdeprecated-declarations]
  return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
                     ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:2355:38: note: 'NewExternal' has been explicitly marked deprecated here
                       Local<String> NewExternal(
                                     ^
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:237:30: warning: 'CompileUnbound' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                             ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1301:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../src/validation.cc:15:
In file included from ../../nan/nan.h:82:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:244:30: warning: 'CompileUnbound' is deprecated [-Wdeprecated-declarations]
  return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                             ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1301:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../src/validation.cc:15:
../../nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                        ^
../../nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                        ^
../../nan/nan.h:289:39: warning: 'IdleNotification' is deprecated [-Wdeprecated-declarations]
    return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
                                      ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:6290:22: note: 'IdleNotification' has been explicitly marked deprecated here
                bool IdleNotification(int idle_time_in_ms));
                     ^
In file included from ../src/validation.cc:15:
../../nan/nan.h:473:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback
      ~~~~~~~~~~~~~^
../../nan/nan.h:479:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback) {
      ~~~~~~~~~~~~~^
../../nan/nan.h:484:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback
      ~~~~~~~~~~~~~^
../../nan/nan.h:490:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback) {
      ~~~~~~~~~~~~~^
../../nan/nan.h:569:15: error: no type named 'WeakCallbackData' in namespace 'v8'
    const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
          ~~~~^
../../nan/nan.h:569:31: error: expected ')'
    const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
                              ^
../../nan/nan.h:568:41: note: to match this '('
  static void _NanWeakCallbackDispatcher(
                                        ^
../../nan/nan.h:570:42: error: use of undeclared identifier 'data'
      _NanWeakCallbackInfo<T, P> *info = data.GetParameter();
                                         ^
../../nan/nan.h:661:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../../nan/nan.h:672:12: error: no matching function for call to 'New'
    return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
           ^~~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node_buffer.h:46:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node_buffer.h:34:40: note: candidate function not viable: no known conversion from 'const char *' to 'v8::Local<v8::String>' for 2nd
      argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node_buffer.h:31:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node_buffer.h:39:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../src/validation.cc:15:
../../nan/nan.h:676:12: error: no viable conversion from returned value of type 'v8::MaybeLocal<v8::Object>' to function return type 'v8::Local<v8::Object>'
    return node::Buffer::New(v8::Isolate::GetCurrent(), size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:219:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:219:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from
      'v8::MaybeLocal<v8::Object>' to 'v8::Local<v8::Object> &&' for 1st argument
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:223:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
In file included from ../src/validation.cc:15:
../../nan/nan.h:683:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
           ~~~~~~~~~~~~~~^
../../nan/nan.h:710:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                               ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../src/validation.cc:15:
../../nan/nan.h:717:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                               ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:1321:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
../src/validation.cc:112:5: error: call to 'NODE_SET_METHOD' is ambiguous
    NODE_SET_METHOD(t, "isValidUTF8", Validation::IsValidUTF8);
    ^~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:263:25: note: expanded from macro 'NODE_SET_METHOD'
#define NODE_SET_METHOD node::NODE_SET_METHOD
                        ^~~~~~~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:238:13: note: candidate function
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
            ^
/Users/pixelead0/.node-gyp/7.2.1/include/node/node.h:251:13: note: candidate function
inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
            ^
In file included from ../src/validation.cc:7:
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:230:5: error: assigning to 'v8::Primitive *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:414:12: note: in instantiation of function template specialization 'v8::Local<v8::Primitive>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/validation.cc:7:
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:230:5: error: assigning to 'v8::Boolean *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:424:12: note: in instantiation of function template specialization 'v8::Local<v8::Boolean>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/validation.cc:7:
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:230:5: error: assigning to 'v8::Function *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1514:12: note: in instantiation of function template specialization 'v8::Local<v8::Function>::Local<v8::Value>' requested here
    return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
In file included from ../src/validation.cc:7:
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:230:5: error: assigning to 'v8::Object *volatile' from incompatible type 'v8::Value *'
    TYPE_CHECK(T, S);
    ^~~~~~~~~~~~~~~~
/Users/pixelead0/.node-gyp/7.2.1/include/node/v8.h:189:37: note: expanded from macro 'TYPE_CHECK'
    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
                                    ^ ~~~~~~~~~~~~~~~~~~
../../nan/nan.h:1632:12: note: in instantiation of function template specialization 'v8::Local<v8::Object>::Local<v8::Value>' requested here
    return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
           ^
../../nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'
# define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                             ^
12 warnings and 17 errors generated.
make: *** [Release/obj.target/validation/src/validation.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.3.0
gyp ERR! command "/usr/local/Cellar/node/7.2.1/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/slack-cli/node_modules/utf-8-validate
gyp ERR! node -v v7.2.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
/usr/local/lib
└─┬ slack-cli@1.0.18
  ├── async@0.9.2
  ├─┬ 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
  │ │ │ └── supports-color@2.0.0
  │ │ ├─┬ commander@2.9.0
  │ │ │ └── graceful-readlink@1.0.1
  │ │ ├─┬ 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.1
  │ │ │ └── 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
  │ │   │ └── assert-plus@1.0.0
  │ │   ├── ecc-jsbn@0.1.1
  │ │   ├─┬ getpass@0.1.6
  │ │   │ └── assert-plus@1.0.0
  │ │   ├── jodid25519@1.0.2
  │ │   ├── jsbn@0.1.0
  │ │   └── tweetnacl@0.14.5
  │ ├── 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
  ├── stdio@0.2.7
  ├─┬ winston@1.1.2
  │ ├── async@1.0.0
  │ ├── colors@1.0.3
  │ ├── cycle@1.0.3
  │ ├── eyes@0.1.8
  │ ├── pkginfo@0.3.1
  │ └── stack-trace@0.0.9
  └─┬ ws@0.7.2
    ├── options@0.0.6
    └── ultron@1.0.2

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 (node_modules/slack-cli/node_modules/bufferutil):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 (node_modules/slack-cli/node_modules/utf-8-validate):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: utf-8-validate@1.1.0 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
patoi commented 7 years ago

Ubuntu install has failed but two day ago it was ok.

I think the dependencies` changes brings this error:

"dependencies": {
    "async": "^0.9.0",
    "request": "^2.55.0",
    "winston": "^1.0.0",
    "stdio": "~0.2.7",
    "ws": "0.7.2"
  },

Maybe better solution is to pin down version numbers.

tomjaimz commented 7 years ago

I updated all the packages to the latest version, with the exception of async as it seems to have had changes prior to async 2.x.

Here are my dependancies. This works fine in macOS Sierra:

  "dependencies": {
    "async": "^1.0.0",
    "request": "^2.0.0",
    "winston": "^2.0.0",
    "stdio": "^0.2.0",
    "ws": "^2.0.0"
  },
chrisui commented 7 years ago

Having issues on node 7 & 8 with this.

I think the issue stems to out-dated bufferutil transitive dependency which is depended on by the outdated ws dependency.

ws is currently 0.7.2 compared to latest 3.0.0 and therefore bufferutil is a few versions behind as well!

chrisui commented 7 years ago

Will look at submitting a PR with updated dependencies asap.

chrisui commented 7 years ago

Updated dependencies PR here: https://github.com/candrholdings/slack-cli/pull/26

Build worked locally with node 8.

vzaidman commented 7 years ago

updated the pr even more and opened a new one: https://github.com/candrholdings/slack-cli/pull/27