forknote / forknote-pool

Mining pool for Bytecoin/Forknote based coins such as Bytecoin and Dashcoin.
https://github.com/forknote/forknote-pool
GNU General Public License v2.0
122 stars 185 forks source link

NPM Update Issue | Unable To Install #37

Open sagargulati opened 6 years ago

sagargulati commented 6 years ago

Hello, I am trying to install and setup a bool for ETN (Electroneum) but every time I am getting this error and I am unable to solve. Could you please tell what is wrong?

Debug Log: https://pastebin.com/v5zjr0em

cycleworm commented 6 years ago

Hi,

line: 676 error node v4.2.6 i think you have to downgrad to node version 0.10.xx

image

you have version v4.2.6 i downgraded to version v0.10.36, deleted node module folder, npm update, and it works now. [https://nodejs.org/en/blog/release/v0.10.36/]

if anybody has a solution to use forknote-pool with a newer node version that would be great.

sagargulati commented 6 years ago

It was patched. I had to use a downgraded version

pmitchev commented 6 years ago

You guys can make pull requests at anytime.

cycleworm commented 6 years ago

hi @sagargulati what do you mean with "it was patched" which node version are you using now?

@pmitchev i dont know how it could be solved to use the code base with the newest node version. so i cannot make a pull request. (i could only open one an describe what would be needed?)

sagargulati commented 6 years ago

As I see the README, it says we need 0.10.48 I was more on crypto-note-pool. So I downgraded and used it and the configuration worked

40thoughts commented 6 years ago

Hi guys, i'm actually pulling my hair out trying to install this app it seems like i have kind of the same problem as you guys : https://pastebin.com/3EtDsmSs

I'm running Ubuntu 14.04 LTS on a digitalOcean droplet : node 0.10.48 I followed all the instructions on the README, tried out several versions of node.js and nothing seems to work. Does somebody have an idea about this ? I did a bit of research on the web, and I suspect node-gyp to be the cause, can somebody tell me the version of "node-gyp" they're using so i could try it out ?

UPDATE : nevermind guys, at some point i saw something like "ran out of virtual memory", so i build it on a more powerfull droplet, and everthing went fine.

Allin1920 commented 6 years ago

@cycleworm root@ubuntu:~/pool# npm update ansi-regex@2.1.1 node_modules/cli-color/node_modules/ansi-regex redis-parser@2.6.0 node_modules/redis/node_modules/redis-parser async@1.5.2 node_modules/async npm WARN engine request@2.81.0: wanted: {"node":">= 4"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine request@2.81.0: wanted: {"node":">= 4"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine deep-extend@0.4.2: wanted: {"node":">=0.12.0","iojs":">=1.0.0"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine deep-extend@0.4.2: wanted: {"node":">=0.12.0","iojs":">=1.0.0"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine form-data@2.1.4: wanted: {"node":">= 0.12"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine har-validator@4.2.1: wanted: {"node":">=4"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine form-data@2.1.4: wanted: {"node":">= 0.12"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine har-validator@4.2.1: wanted: {"node":">=4"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine boom@2.10.1: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine cryptiles@2.0.5: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine boom@2.10.1: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine cryptiles@2.0.5: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine har-schema@1.0.5: wanted: {"node":">=4"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine har-schema@1.0.5: wanted: {"node":">=4"} (current: {"node":"0.10.36","npm":"1.4.28"})

cryptonote-util@0.0.1 install /root/pool/node_modules/cryptonote-util node-gyp rebuild

make: Entering directory /root/pool/node_modules/cryptonote-util/build' CXX(target) Release/obj.target/cryptonote/src/main.o node-pre-gyp@0.6.39 node_modules/base58-native/node_modules/bignum/node_modules/node-pre-gyp ├── detect-libc@1.0.3 ├── semver@5.5.0 ├── rc@1.2.6 (strip-json-comments@2.0.1, ini@1.3.5, deep-extend@0.4.2, minimist@1.2.0) ├── mkdirp@0.5.1 (minimist@0.0.8) ├── nopt@4.0.1 (abbrev@1.1.1, osenv@0.1.5) ├── hawk@3.1.3 (cryptiles@2.0.5, sntp@1.0.9, boom@2.10.1, hoek@2.16.3) ├── tar@2.2.1 (inherits@2.0.3, block-stream@0.0.9, fstream@1.0.11) ├── rimraf@2.6.2 (glob@7.1.2) ├── tar-pack@3.4.1 (uid-number@0.0.6, once@1.4.0, debug@2.6.9, fstream@1.0.11, readable-stream@2.3.6, fstream-ignore@1.0.5) ├── npmlog@4.1.2 (set-blocking@2.0.0, console-control-strings@1.1.0, are-we-there-yet@1.1.4, gauge@2.7.4) └── request@2.81.0 (is-typedarray@1.0.0, aws-sign2@0.6.0, oauth-sign@0.8.2, forever-agent@0.6.1, tunnel-agent@0.6.0, caseless@0.12.0, stringstream@0.0.5, isstream@0.1.2, json-stringify-safe@5.0.1, safe-buffer@5.1.1, performance-now@0.2.0, aws4@1.7.0, extend@3.0.1, uuid@3.2.1, qs@6.4.0, combined-stream@1.0.6, form-data@2.1.4, mime-types@2.1.18, tough-cookie@2.3.4, http-signature@1.1.1, har-validator@4.2.1) node-pre-gyp@0.6.39 node_modules/bignum/node_modules/node-pre-gyp ├── detect-libc@1.0.3 ├── semver@5.5.0 ├── mkdirp@0.5.1 (minimist@0.0.8) ├── rc@1.2.6 (strip-json-comments@2.0.1, ini@1.3.5, deep-extend@0.4.2, minimist@1.2.0) ├── nopt@4.0.1 (abbrev@1.1.1, osenv@0.1.5) ├── tar@2.2.1 (inherits@2.0.3, block-stream@0.0.9, fstream@1.0.11) ├── hawk@3.1.3 (cryptiles@2.0.5, sntp@1.0.9, boom@2.10.1, hoek@2.16.3) ├── rimraf@2.6.2 (glob@7.1.2) ├── npmlog@4.1.2 (set-blocking@2.0.0, console-control-strings@1.1.0, are-we-there-yet@1.1.4, gauge@2.7.4) ├── tar-pack@3.4.1 (uid-number@0.0.6, debug@2.6.9, once@1.4.0, readable-stream@2.3.6, fstream@1.0.11, fstream-ignore@1.0.5) └── request@2.81.0 (is-typedarray@1.0.0, aws-sign2@0.6.0, oauth-sign@0.8.2, forever-agent@0.6.1, tunnel-agent@0.6.0, stringstream@0.0.5, caseless@0.12.0, isstream@0.1.2, json-stringify-safe@5.0.1, safe-buffer@5.1.1, performance-now@0.2.0, aws4@1.7.0, extend@3.0.1, combined-stream@1.0.6, uuid@3.2.1, qs@6.4.0, form-data@2.1.4, mime-types@2.1.18, tough-cookie@2.3.4, http-signature@1.1.1, har-validator@4.2.1) CXX(target) Release/obj.target/cryptonote/src/cryptonote_core/cryptonote_format_utils.o CC(target) Release/obj.target/cryptonote/src/crypto/tree-hash.o CXX(target) Release/obj.target/cryptonote/src/crypto/crypto.o ../src/crypto/crypto.cpp: In function ‘std::size_t crypto::rs_comm_size(std::size_t)’: ../src/crypto/crypto.cpp:224:58: error: value-initialization of incomplete type ‘crypto::rs_comm::<anonymous struct> []’ return sizeof(rs_comm) + pubs_count * sizeof(rs_comm().ab[0]); ^ make: *** [Release/obj.target/cryptonote/src/crypto/crypto.o] Error 1 make: Leaving directory/root/pool/node_modules/cryptonote-util/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:267:23) gyp ERR! stack at ChildProcess.emit (events.js:98:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:820:12) gyp ERR! System Linux 3.13.0-24-generic gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /root/pool/node_modules/cryptonote-util gyp ERR! node -v v0.10.36 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok npm WARN engine co@4.6.0: wanted: {"iojs":">= 1.0.0","node":">= 0.12.0"} (current: {"node":"0.10.36","npm":"1.4.28"}) npm WARN engine co@4.6.0: wanted: {"iojs":">= 1.0.0","node":">= 0.12.0"} (current: {"node":"0.10.36","npm":"1.4.28"})

multi-hashing@0.0.9 install /root/pool/node_modules/multi-hashing node-gyp rebuild

make: Entering directory `/root/pool/node_modules/multi-hashing/build' CXX(target) Release/obj.target/multihashing/multihashing.o ../multihashing.cc:23:22: warning: extra tokens at end of #include directive

include "sha1.h",

                  ^

../multihashing.cc: In function ‘v8::Handle boolberry(const v8::Arguments&)’: ../multihashing.cc:470:7: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses] if(args.Length() >= 3) ^ CC(target) Release/obj.target/multihashing/scryptjane.o In file included from ../scryptjane/scrypt-jane-portable.h:280:0, from ../scryptjane.c:10: ../scryptjane/scrypt-jane-portable-x86.h: In function ‘detect_cpu’: ../scryptjane/scrypt-jane-portable-x86.h:275:18: warning: variable ‘vendor’ set but not used [-Wunused-but-set-variable] cpu_vendors_x86 vendor = cpu_nobody; ^~ In file included from ../scryptjane/scrypt-jane-chacha.h:12:0, from ../scryptjane/scrypt-jane-romix.h:2, from ../scryptjane.c:12: At top level: ../scryptjane/scrypt-jane-romix-basic.h:65:1: warning: ‘scrypt_block’ defined but not used [-Wunused-function] scrypt_block(scrypt_mix_word_t base, scrypt_mix_word_t i) { ^~~~ ../scryptjane/scrypt-jane-romix-basic.h:13:1: warning: ‘scrypt_romix_convert_endian’ defined but not used [-Wunused-function] scrypt_romix_convert_endian(scrypt_mix_word_t blocks, size_t nblocks) { ^~~~~~~ CC(target) Release/obj.target/multihashing/scryptn.o CC(target) Release/obj.target/multihashing/keccak.o CC(target) Release/obj.target/multihashing/skein.o In file included from ../skein.c:8:0: ../sha256.h:390:1: warning: ‘PBKDF2_SHA256’ defined but not used [-Wunused-function] PBKDF2_SHA256(const uint8_t passwd, size_t passwdlen, const uint8_t salt, ^~~~~ CC(target) Release/obj.target/multihashing/x11.o CC(target) Release/obj.target/multihashing/quark.o ../quark.c:101:1: warning: ‘be32dec_vect’ defined but not used [-Wunused-function] be32dec_vect(uint32_t dst, const unsigned char src, uint32_t len) ^~~~ ../quark.c:88:1: warning: ‘be32enc_vect’ defined but not used [-Wunused-function] be32enc_vect(unsigned char dst, const uint32_t src, uint32_t len) ^~~~ CC(target) Release/obj.target/multihashing/bcrypt.o CC(target) Release/obj.target/multihashing/groestl.o In file included from ../groestl.c:8:0: ../sha256.h:390:1: warning: ‘PBKDF2_SHA256’ defined but not used [-Wunused-function] PBKDF2_SHA256(const uint8_t passwd, size_t passwdlen, const uint8_t salt, ^~~~~ CC(target) Release/obj.target/multihashing/blake.o CC(target) Release/obj.target/multihashing/fugue.o CC(target) Release/obj.target/multihashing/qubit.o CC(target) Release/obj.target/multihashing/hefty1.o In file included from ../hefty1.c:7:0: ../sha256.h:390:1: warning: ‘PBKDF2_SHA256’ defined but not used [-Wunused-function] PBKDF2_SHA256(const uint8_t passwd, size_t passwdlen, const uint8_t salt, ^~~~~ CC(target) Release/obj.target/multihashing/shavite3.o CC(target) Release/obj.target/multihashing/cryptonight.o ../cryptonight.c:92:13: warning: ‘swap_blocks’ defined but not used [-Wunused-function] static void swap_blocks(uint8_t a, uint8_t b) { ^~~ ../cryptonight.c:74:13: warning: ‘sum_half_blocks’ defined but not used [-Wunused-function] static void sum_half_blocks(uint8_t a, const uint8_t b) { ^~~~~~~ ../cryptonight.c:60:13: warning: ‘mul’ defined but not used [-Wunused-function] static void mul(const uint8_t a, const uint8_t b, uint8_t res) { ^~~ CC(target) Release/obj.target/multihashing/x13.o CXX(target) Release/obj.target/multihashing/boolberry.o In file included from ../crypto/cryptonote_core/cryptonote_format_utils.h:7:0, from ../boolberry.cc:2: ../crypto/cryptonote_core/../wild_keccak.h: In function ‘int crypto::keccak_generic(const uint8_t, size_t, uint8_t, size_t)’: ../crypto/cryptonote_core/../wild_keccak.h:63:39: warning: enumeral and non-enumeral type in conditional expression [-Wextra] rsiz = sizeof(state_t_m) == mdlen ? HASH_DATA_AREA : 200 - 2 mdlen;


../crypto/cryptonote_core/../wild_keccak.h: In function ‘int crypto::wild_keccak(const uint8_t*, size_t, uint8_t*, size_t, callback_t)’:
../crypto/cryptonote_core/../wild_keccak.h:98:39: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
     rsiz = sizeof(state_t_m) == mdlen ? HASH_DATA_AREA : 200 - 2 * mdlen;
                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../crypto/cryptonote_core/../wild_keccak.h: In instantiation of ‘int crypto::wild_keccak(const uint8_t*, size_t, uint8_t*, size_t, callback_t) [with f_traits = crypto::mul_f; callback_t = cryptonote::get_blob_longhash_bb(const blobdata&, crypto::hash&, uint64_t, callback_t) [with callback_t = boolberry_hash(const char*, uint32_t, const char*, uint64_t, char*, uint64_t)::<lambda(uint64_t)>; blobdata = std::basic_string<char>; uint64_t = long unsigned int]::<lambda(uint64_t (&)[25], uint64_t (&)[24])>; uint8_t = unsigned char; size_t = long unsigned int]’:
../crypto/cryptonote_core/../wild_keccak.h:151:26:   required from ‘int crypto::wild_keccak_dbl(const uint8_t*, size_t, uint8_t*, size_t, callback_t) [with f_traits = crypto::mul_f; callback_t = cryptonote::get_blob_longhash_bb(const blobdata&, crypto::hash&, uint64_t, callback_t) [with callback_t = boolberry_hash(const char*, uint32_t, const char*, uint64_t, char*, uint64_t)::<lambda(uint64_t)>; blobdata = std::basic_string<char>; uint64_t = long unsigned int]::<lambda(uint64_t (&)[25], uint64_t (&)[24])>; uint8_t = unsigned char; size_t = long unsigned int]’
../crypto/cryptonote_core/cryptonote_format_utils.h:15:43:   required from ‘bool cryptonote::get_blob_longhash_bb(const blobdata&, crypto::hash&, uint64_t, callback_t) [with callback_t = boolberry_hash(const char*, uint32_t, const char*, uint64_t, char*, uint64_t)::<lambda(uint64_t)>; blobdata = std::basic_string<char>; uint64_t = long unsigned int]’
../boolberry.cc:10:6:   required from here
cc1plus: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
  CC(target) Release/obj.target/multihashing/nist5.o
  CC(target) Release/obj.target/multihashing/sha1.o
  CC(target) Release/obj.target/multihashing/x15.o
  CC(target) Release/obj.target/multihashing/fresh.o
  CC(target) Release/obj.target/multihashing/sha3/sph_hefty1.o
  CC(target) Release/obj.target/multihashing/sha3/sph_fugue.o
  CC(target) Release/obj.target/multihashing/sha3/aes_helper.o
../sha3/aes_helper.c:90:19: warning: ‘AES3_LE’ defined but not used [-Wunused-const-variable=]
 #define AES3      AES3_LE
                   ^
../sha3/aes_helper.c:323:22: note: in expansion of macro ‘AES3’
 static const sph_u32 AES3[256] = {
                      ^~~~
../sha3/aes_helper.c:89:19: warning: ‘AES2_LE’ defined but not used [-Wunused-const-variable=]
 #define AES2      AES2_LE
                   ^
../sha3/aes_helper.c:256:22: note: in expansion of macro ‘AES2’
 static const sph_u32 AES2[256] = {
                      ^~~~
../sha3/aes_helper.c:88:19: warning: ‘AES1_LE’ defined but not used [-Wunused-const-variable=]
 #define AES1      AES1_LE
                   ^
../sha3/aes_helper.c:189:22: note: in expansion of macro ‘AES1’
 static const sph_u32 AES1[256] = {
                      ^~~~
../sha3/aes_helper.c:87:19: warning: ‘AES0_LE’ defined but not used [-Wunused-const-variable=]
 #define AES0      AES0_LE
                   ^
../sha3/aes_helper.c:122:22: note: in expansion of macro ‘AES0’
 static const sph_u32 AES0[256] = {
                      ^~~~
  CC(target) Release/obj.target/multihashing/sha3/sph_blake.o
  CC(target) Release/obj.target/multihashing/sha3/sph_bmw.o
  CC(target) Release/obj.target/multihashing/sha3/sph_cubehash.o
  CC(target) Release/obj.target/multihashing/sha3/sph_echo.o
  CC(target) Release/obj.target/multihashing/sha3/sph_groestl.o
  CC(target) Release/obj.target/multihashing/sha3/sph_jh.o
  CC(target) Release/obj.target/multihashing/sha3/sph_keccak.o
  CC(target) Release/obj.target/multihashing/sha3/sph_luffa.o
../sha3/sph_luffa.c:147:22: warning: ‘RC34’ defined but not used [-Wunused-const-variable=]
 static const sph_u32 RC34[8] = {
                      ^~~~
../sha3/sph_luffa.c:140:22: warning: ‘RC30’ defined but not used [-Wunused-const-variable=]
 static const sph_u32 RC30[8] = {
                      ^~~~
../sha3/sph_luffa.c:101:22: warning: ‘RC14’ defined but not used [-Wunused-const-variable=]
 static const sph_u32 RC14[8] = {
                      ^~~~
../sha3/sph_luffa.c:94:22: warning: ‘RC10’ defined but not used [-Wunused-const-variable=]
 static const sph_u32 RC10[8] = {
                      ^~~~
../sha3/sph_luffa.c:87:22: warning: ‘RC04’ defined but not used [-Wunused-const-variable=]
 static const sph_u32 RC04[8] = {
                      ^~~~
../sha3/sph_luffa.c:80:22: warning: ‘RC00’ defined but not used [-Wunused-const-variable=]
 static const sph_u32 RC00[8] = {
                      ^~~~
  CC(target) Release/obj.target/multihashing/sha3/sph_shavite.o
  CC(target) Release/obj.target/multihashing/sha3/sph_simd.o
  CC(target) Release/obj.target/multihashing/sha3/sph_skein.o
  CC(target) Release/obj.target/multihashing/sha3/sph_whirlpool.o
  CC(target) Release/obj.target/multihashing/sha3/sph_shabal.o
  CC(target) Release/obj.target/multihashing/sha3/hamsi.o
  CC(target) Release/obj.target/multihashing/crypto/oaes_lib.o
../crypto/oaes_lib.c:30:19: warning: ‘_NR’ defined but not used [-Wunused-const-variable=]
 static const char _NR[] = {
                   ^~~
  CC(target) Release/obj.target/multihashing/crypto/c_keccak.o
  CC(target) Release/obj.target/multihashing/crypto/c_groestl.o
  CC(target) Release/obj.target/multihashing/crypto/c_blake256.o
  CC(target) Release/obj.target/multihashing/crypto/c_jh.o
  CC(target) Release/obj.target/multihashing/crypto/c_skein.o
  CC(target) Release/obj.target/multihashing/crypto/hash.o
  CC(target) Release/obj.target/multihashing/crypto/aesb.o
  CXX(target) Release/obj.target/multihashing/crypto/wild_keccak.o
In file included from ../crypto/wild_keccak.cpp:11:0:
../crypto/wild_keccak.h: In function ‘int crypto::keccak_generic(const uint8_t*, size_t, uint8_t*, size_t)’:
../crypto/wild_keccak.h:63:39: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
     rsiz = sizeof(state_t_m) == mdlen ? HASH_DATA_AREA : 200 - 2 * mdlen;
                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../crypto/wild_keccak.h: In function ‘int crypto::wild_keccak(const uint8_t*, size_t, uint8_t*, size_t, callback_t)’:
../crypto/wild_keccak.h:98:39: warning: enumeral and non-enumeral type in conditional expression [-Wextra]
     rsiz = sizeof(state_t_m) == mdlen ? HASH_DATA_AREA : 200 - 2 * mdlen;
                  ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  SOLINK_MODULE(target) Release/obj.target/multihashing.node
  SOLINK_MODULE(target) Release/obj.target/multihashing.node: Finished
  COPY Release/multihashing.node
make: Leaving directory `/root/pool/node_modules/multi-hashing/build'
multi-hashing@0.0.9 node_modules/multi-hashing
└── bindings@1.3.0
npm ERR! cryptonote-util@0.0.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the cryptonote-util@0.0.1 install script.
npm ERR! This is most likely a problem with the cryptonote-util package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls cryptonote-util
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.13.0-24-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "update"
npm ERR! cwd /root/pool
npm ERR! node -v v0.10.36
npm ERR! npm -v 1.4.28
npm ERR! code ELIFECYCLE
npm ERR! not ok code 0

ubuntu 14.04 
gcc 5.4.0
way not?
Allin1920 commented 6 years ago

../src/crypto/crypto.cpp:224:58: error: value-initialization of incomplete type ‘crypto::rs_comm:: []’ return sizeof(rs_comm) + pubs_count * sizeof(rs_comm().ab[0]);

inzider commented 5 years ago

I use npm install instead - refer to this for the npm update error : "Ok, so I do not have a space in my filepath. I deleted the ~/.node-gyp folder and then the ~/.npmrc file. Restarted my computer. Then tried again and it worked. Hope that helps someone else out there!" https://github.com/nodejs/node-gyp/issues/809#issuecomment-164992961

Be sure you use nvm 0.10.48

curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh -o install_nvm.sh bash install_nvm.sh source ~/.profile nvm install 0.10.48 nvm use 0.10.48