title: How to manually install arpjs module for node.js?
body: <p>I am trying to install arpjs module... when I try to install it with </p>
  
  <pre><code>npm install arpjs 
  </code></pre>
  
  <p>or </p>
  
  <pre><code>npm install  
  sudo npm install https://github.com/skepticfx/arpjs.git 
  </code></pre>
  
  <p>I always get this error:</p>
  
  <blockquote>
    <p>npm WARN lifecycle typechecker@2.0.8~preinstall: cannot run in wd %s %s (wd=%s) typechecker@2.0.8 node ./cyclic.js /usr/lib/node_modules/.staging/typechecker-8e5299d6dc600530516e3f6be254ad7d</p>
    
    <p>socketwatcher@0.2.1 install /usr/lib/node_modules/arpjs/node_modules/socketwatcher<br>
    node-gyp rebuild</p>
    
    <p>make: Entering directory <code>/usr/lib/node_modules/arpjs/node_modules/socketwatcher/build'<br>
    CXX(target) Release/obj.target/socketwatcher/socket_watcher.o<br>
    In file included from ../node_modules/nan/nan_new.h:190:0,<br>
                         from ../node_modules/nan/nan.h:80,
                         from ../socket_watcher.hpp:8,
                         from ../socket_watcher.cpp:5:<br>
    ../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase&lt;v8::Signature&gt;::return_t<br>
    NanIntern::Factory&lt;v8::Signature&gt;::New(NanIntern::Factory&lt;v8::Signature&gt;::FTH, int, NanIntern::Factory&lt;v8::Signature&gt;::FTH*)’:<br>
    ../node_modules/nan/nan_implementation_12_inl.h:181:76: error: no matching function for call to ‘v8::Signature::New(v8::Isolate*, NanIntern::Factory&lt;v8::Signature&gt;::FTH&amp;, int&amp;, NanIntern::Factory&lt;v8::Signature&gt;::FTH*&amp;)’
           return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
                                                                                    ^
        ../node_modules/nan/nan_implementation_12_inl.h:181:76: note: candidate is:
        In file included from /home/groshev/.node-gyp/5.0.0/include/node/node.h:42:0,
                         from ../node_modules/nan/nan.h:24,
                         from ../socket_watcher.hpp:8,
                         from ../socket_watcher.cpp:5:
        /home/groshev/.node-gyp/5.0.0/include/node/v8.h:4674:27: note: static v8::Local&lt;v8::Signature&gt; v8::Signature::New(v8::Isolate*, v8::Local&lt;v8::FunctionTemplate&gt;)
           static Local&lt;Signature&gt; New(
                                   ^
        /home/groshev/.node-gyp/5.0.0/include/node/v8.h:4674:27: note:   candidate expects 2 arguments, 4 provided
        In file included from ../socket_watcher.hpp:8:0,
                         from ../socket_watcher.cpp:5:
        ../node_modules/nan/nan.h: At global scope:
        ../node_modules/nan/nan.h:171:25: error: redefinition of ‘template&lt;class T&gt; v8::Local&lt;T&gt; _NanEnsureLocal(v8::Local&lt;T&gt;)’
         NAN_INLINE v8::Local&lt;T&gt; _NanEnsureLocal(v8::Local&lt;T&gt; val) {
                                 ^
        ../node_modules/nan/nan.h:166:25: error: ‘template&lt;class T&gt; v8::Local&lt;T&gt; _NanEnsureLocal(v8::Handle&lt;T&gt;)’ previously declared here
         NAN_INLINE v8::Local&lt;T&gt; _NanEnsureLocal(v8::Handle&lt;T&gt; val) {
                                 ^
        ../node_modules/nan/nan.h:564:13: error: ‘node::smalloc’ has not been declared
             , node::smalloc::FreeCallback callback
                     ^
        ../node_modules/nan/nan.h:564:35: error: expected ‘,’ or ‘...’ before ‘callback’
             , node::smalloc::FreeCallback callback
                                           ^
        ../node_modules/nan/nan.h: In function ‘v8::Local&lt;v8::Object&gt; NanNewBufferHandle(char*, size_t, int)’:
        ../node_modules/nan/nan.h:568:50: error: ‘callback’ was not declared in this scope
                 v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                          ^
        ../node_modules/nan/nan.h:568:60: error: ‘hint’ was not declared in this scope
                 v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                                    ^
        ../node_modules/nan/nan.h: In function ‘v8::Local&lt;v8::Object&gt; NanNewBufferHandle(const char*, uint32_t)’:
        ../node_modules/nan/nan.h:575:67: error: call of overloaded ‘New(v8::Isolate*, const char*&amp;, uint32_t&amp;)’ is ambiguous
             return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                                           ^
        ../node_modules/nan/nan.h:575:67: note: candidates are:
        In file included from ../node_modules/nan/nan.h:25:0,
                         from ../socket_watcher.hpp:8,
                         from ../socket_watcher.cpp:5:
        /home/groshev/.node-gyp/5.0.0/include/node/node_buffer.h:31:40: note: v8::MaybeLocal&lt;v8::Object&gt; node::Buffer::New(v8::Isolate*, v8::Local&lt;v8::String&gt;, node::encoding) &lt;near match&gt;
         NODE_EXTERN v8::MaybeLocal&lt;v8::Object&gt; New(v8::Isolate* isolate,
                                                ^
        /home/groshev/.node-gyp/5.0.0/include/node/node_buffer.h:31:40: note:   no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’
        /home/groshev/.node-gyp/5.0.0/include/node/node_buffer.h:43:40: note: v8::MaybeLocal&lt;v8::Object&gt; node::Buffer::New(v8::Isolate*, char*, size_t) &lt;near match&gt;
         NODE_EXTERN v8::MaybeLocal&lt;v8::Object&gt; New(v8::Isolate* isolate,
                                                ^
        /home/groshev/.node-gyp/5.0.0/include/node/node_buffer.h:43:40: note:   no known conversion for argument 2 from ‘const char*’ to ‘char*’
        In file included from ../socket_watcher.hpp:8:0,
                         from ../socket_watcher.cpp:5:
        ../node_modules/nan/nan.h: In function ‘v8::Local&lt;v8::Object&gt; NanNewBufferHandle(uint32_t)’:
        ../node_modules/nan/nan.h:579:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), size)’ from ‘v8::MaybeLocal&lt;v8::Object&gt;’ to ‘v8::Local&lt;v8::Object&gt;’
             return node::Buffer::New(v8::Isolate::GetCurrent(), size);
                                                                     ^
        ../node_modules/nan/nan.h: In function ‘v8::Local&lt;v8::Object&gt; NanBufferUse(char*, uint32_t)’:
        ../node_modules/nan/nan.h:586:12: error: ‘Use’ is not a member of ‘node::Buffer’
             return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
                    ^
        make: *** [Release/obj.target/socketwatcher/socket_watcher.o] Error 1
        make: Leaving directory</code>/usr/lib/node_modules/arpjs/node_modules/socketwatcher/build'
        gyp ERR! build error 
        gyp ERR! stack Error: <code>make</code> failed with exit code: 2
        gyp ERR! stack     at ChildProcess.onExit (/usr/local/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.16.0-52-generic
        gyp ERR! command "/usr/bin/nodejs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
        gyp ERR! cwd /usr/lib/node_modules/arpjs/node_modules/socketwatcher
        gyp ERR! node -v v5.0.0
        gyp ERR! node-gyp -v v3.0.3
        gyp ERR! not ok 
        npm WARN install:socketwatcher@0.2.1 socketwatcher@0.2.1 install: <code>node-gyp rebuild</code>
        npm WARN install:socketwatcher@0.2.1 Exit status 1
        /usr/lib
        └── (empty)</p>
  </blockquote>
  
  <pre><code>npm ERR! code 1
  </code></pre>
  
  <p>so i was thinking to manually download the sorurce form github and install it . But this module is dependent of other modules (ip,mac and pcap).
  So how can i do that ?</p>