Git Product home page Git Product logo

node-bignum's Introduction

bignum

Build Status

Arbitrary precision integral arithmetic for Node.js using OpenSSL.

This library is based on node-bigint by substack, but instead of using libgmp, it uses the builtin bignum functionality provided by OpenSSL. The advantage is that OpenSSL is already part of Node.js, so this library does not add any external dependency whatsoever.

BigInt

JavaScript now has a BigInt object. If you are using Node 10.4 or newer, you should use or migrate to BigInt.

differences

When switching from node-bigint to node-bignum, please be aware of these differences:

  • Bignum rounds towards zero for integer divisions, e.g. 10 / -3 = -3, whereas bigint rounds towards negative infinity, e.g. 10 / -3 = -4.
  • nextPrime() is not supported.
  • sqrt() and root() are not supported.

(Patches for the missing functionality are welcome.)

example

simple.js

var bignum = require('bignum');

var b = bignum('782910138827292261791972728324982')
    .sub('182373273283402171237474774728373')
    .div(8)
;
console.log(b);

$ node simple.js
<Bignum 75067108192986261319312244199576>

perfect.js

Generate the perfect numbers:

// If 2**n-1 is prime, then (2**n-1) * 2**(n-1) is perfect.
var bignum = require('bignum');

for (var n = 0; n < 100; n++) {
    var p = bignum.pow(2, n).sub(1);
    if (p.probPrime(50)) {
        var perfect = p.mul(bignum.pow(2, n - 1));
        console.log(perfect.toString());
    }
}

6
28
496
8128
33550336
8589869056
137438691328
2305843008139952128
2658455991569831744654692615953842176
191561942608236107294793378084303638130997321548169216

methods[0]

bignum(n, base=10)

Create a new bignum from n and a base. n can be a string, integer, or another bignum.

If you pass in a string you can set the base that string is encoded in.

.toString(base=10)

Print out the bignum instance in the requested base as a string.

bignum.fromBuffer(buf, opts)

Create a new bignum from a Buffer.

The default options are:

{
    endian : 'big',
    size : 1, // number of bytes in each word
}

Note that endian doesn't matter when size = 1. If you wish to reverse the entire buffer byte by byte, pass size: 'auto'.

bignum.prime(bits, safe=true)

Generate a probable prime of length bits. If safe is true, it will be a "safe" prime of the form p=2p'+1 where p' is also prime.

bignum.isBigNum(num)

Return true if num is identified as a bignum instance. Otherwise, return false.

methods[1]

For all of the instance methods below you can write either

bignum.method(x, y, z)

or if x is a bignum instance``

x.method(y, z)

.toNumber()

Turn a bignum into a Number. If the bignum is too big you'll lose precision or you'll get ±Infinity.

.toBuffer(opts)

Return a new Buffer with the data from the bignum.

The default options are:

{
    endian : 'big',
    size : 1, // number of bytes in each word
}

Note that endian doesn't matter when size = 1. If you wish to reverse the entire buffer byte by byte, pass size: 'auto'.

.add(n)

Return a new bignum containing the instance value plus n.

.sub(n)

Return a new bignum containing the instance value minus n.

.mul(n)

Return a new bignum containing the instance value multiplied by n.

.div(n)

Return a new bignum containing the instance value integrally divided by n.

.abs()

Return a new bignum with the absolute value of the instance.

.neg()

Return a new bignum with the negative of the instance value.

.cmp(n)

Compare the instance value to n. Return a positive integer if > n, a negative integer if < n, and 0 if == n.

.gt(n)

Return a boolean: whether the instance value is greater than n (> n).

.ge(n)

Return a boolean: whether the instance value is greater than or equal to n (>= n).

.eq(n)

Return a boolean: whether the instance value is equal to n (== n).

.lt(n)

Return a boolean: whether the instance value is less than n (< n).

.le(n)

Return a boolean: whether the instance value is less than or equal to n (<= n).

.and(n)

Return a new bignum with the instance value bitwise AND (&)-ed with n.

.or(n)

Return a new bignum with the instance value bitwise inclusive-OR (|)-ed with n.

.xor(n)

Return a new bignum with the instance value bitwise exclusive-OR (^)-ed with n.

.mod(n)

Return a new bignum with the instance value modulo n.

m. .pow(n)

Return a new bignum with the instance value raised to the nth power.

.powm(n, m)

Return a new bignum with the instance value raised to the nth power modulo m.

.invertm(m)

Compute the multiplicative inverse modulo m.

.rand()

.rand(upperBound)

If upperBound is supplied, return a random bignum between the instance value and upperBound - 1, inclusive.

Otherwise, return a random bignum between 0 and the instance value - 1, inclusive.

.probPrime()

Return whether the bignum is:

  • certainly prime (true)
  • probably prime ('maybe')
  • certainly composite (false)

using BN_is_prime_ex.

.sqrt()

Return a new bignum that is the square root. This truncates.

.root(n)

Return a new bignum that is the nth root. This truncates.

.shiftLeft(n)

Return a new bignum that is the 2^n multiple. Equivalent of the << operator.

.shiftRight(n)

Return a new bignum of the value integer divided by 2^n. Equivalent of the >> operator.

.gcd(n)

Return the greatest common divisor of the current bignum with n as a new bignum.

.jacobi(n)

Return the Jacobi symbol (or Legendre symbol if n is prime) of the current bignum (= a) over n. Note that n must be odd and >= 3. 0 <= a < n.

Returns -1 or 1 as an int (NOT a bignum). Throws an error on failure.

.bitLength()

Return the number of bits used to represent the current bignum.

install

To compile the package, your system needs to be set up for building Node.js modules.

You can install node-bignum with npm:

npm install bignum

develop

You can clone the git repo and compile with

git clone git://github.com/justmoon/node-bignum.git
cd node-bignum
npm install

Run the tests with

npm test

node-bignum's People

Contributors

cscott avatar dcousens avatar defunctzombie avatar devongovett avatar draggor avatar fanatid avatar fayep avatar hoelzro avatar jb55 avatar jess-sheneberger avatar justmoon avatar kemitchell avatar kumavis avatar mikepb avatar richardbsolut avatar rvagg avatar timoxley avatar tracker1 avatar vadimg avatar vadimipatov avatar vladikoff avatar xadillax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

node-bignum's Issues

Base64 Support and Base 36 Decode

Base64/Base64-url Is also commonly used for a shorter representation of very large numbers (such as uuid's)...

Also, would be nice to see base36 decoding... adding this issue to track discussion/progress since #19 is now closed.

instanceof operator considered harmful

If my deps use two slightly different versions of bignum, we end up with two different instances of the BigNum class and they are not compatible b/c the instanceof checking fails here.

Another approach is to analyze an instance via a type checking method BigNum.isBigNum(num)

Fail to load in node v0.10.20

I'm using node v0.10.20 installed on a mac, installed via brew. Given that node version, to reproduce, all I have to do is go into the node console and run a require('bignum') to which outputs the following error:

Error: Symbol bignum_module not found.
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at new require (module.js:380:17)
    at Object.<anonymous> 
    ...

Bignum.js doesn't compile with the newest node.js version?

Hi:
The bignum.js can't be complied in the newest version of node.js(v5.00). This is the Error message.
Thanks

gyp ERR! configure error
gyp ERR! stack Error: "pre" versions of node cannot be installed, use the --nodedir flag instead
gyp ERR! stack at install (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/install.js:64:16)
gyp ERR! stack at Object.self.commands.(anonymous function) as install
gyp ERR! stack at getNodeDir (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:155:20)
gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:108:9
gyp ERR! stack at ChildProcess.exithandler (child_process.js:194:7)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at maybeClose (internal/child_process.js:818:16)
gyp ERR! stack at Socket. (internal/child_process.js:319:11)
gyp ERR! stack at emitOne (events.js:77:13)
gyp ERR! System Linux 4.0.8-040008-generic
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /home/yifeige/WebstormProjects/Server_B/node_modules/bignum
gyp ERR! node -v v5.0.0-pre
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm ERR! Linux 4.0.8-040008-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "bignum"
npm ERR! node v5.0.0-pre
npm ERR! npm v2.14.4
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp configure build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp configure build'.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp configure build
npm ERR! You can get their info via:
npm ERR! npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /home/yifeige/WebstormProjects/Server_B/node_modules/npm-debug.log

Feature request: remainder

Hi, thanks for creating node-bignum, I've started using it today and I'm already loving it! 😀

I'd like to suggest creating a remainder operation as it can be really useful sometimes. Currently I'm doing the below:

// Big num remainder (not very performant)
function remainder(dividend, divisor, quotient) {
  if(!quotient){
    quotient = dividend.div(divisor);
  }
  return dividend.sub(quotient.mul(divisor));
}

which I don't consider ideal by any means. Let me know what you think about the feature or even about a better existing way to get the remainder. Thanks!

0.6.0 fails to build via NPM on OSX

Mac OSX 10.6.8 box gives me these errors when trying to install:

$ npm install bignum
npm WARN package.json [email protected] No README.md file found!
npm http GET https://registry.npmjs.org/bignum
npm http 304 https://registry.npmjs.org/bignum

> [email protected] install /path/to/project/node_modules/bignum
> node-gyp configure build

  CXX(target) Release/obj.target/bignum/bignum.o
cc1plus: error: unrecognized command line option "-arch"
make: *** [Release/obj.target/bignum/bignum.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/opt/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:784:12)
gyp ERR! System Darwin 10.8.0
gyp ERR! command "node" "/opt/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /path/to/project/node_modules/bignum
gyp ERR! node -v v0.10.5
gyp ERR! node-gyp -v v0.9.5
gyp ERR! not ok 
npm ERR! [email protected] install: `node-gyp configure build`
npm ERR! `sh "-c" "node-gyp configure build"` failed with 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 10.8.0
npm ERR! command "/opt/local/bin/node" "/opt/local/bin/npm" "install" "bignum"
npm ERR! cwd /path/to/project
npm ERR! node -v v0.10.5
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /path/to/project/npm-debug.log
npm ERR! not ok code 0

I'm on 10.6.8, though I see a System Darwin 10.8.0 line in there. Is a newer version of OSX required? Or is it failing to identify my OS properly? This is a 10.6.8 box, with node and npm installed via MacPorts. The cc1plus compiler on this box is probably being auto-detected as the one from an older Xcode install. I do have several other gcc versions installed via MacPorts too.

The debug log has the following additional information:

87 info install [email protected]
88 verbose unsafe-perm in lifecycle true
89 silly exec sh "-c" "node-gyp configure build"
90 silly sh,-c,node-gyp configure build,/path/to/project/node_modules/bignum spawning
91 info [email protected] Failed to exec install script
92 info /path/to/project/node_modules/bignum unbuild
93 verbose from cache /path/to/project/node_modules/bignum/package.json
94 info preuninstall [email protected]
95 info uninstall [email protected]
96 verbose true,/path/to/project/node_modules,/path/to/project/node_modules unbuild [email protected]
97 info postuninstall [email protected]
98 error [email protected] install: `node-gyp configure build`
98 error `sh "-c" "node-gyp configure build"` failed with 1
99 error Failed at the [email protected] install script.
99 error This is most likely a problem with the bignum package,
99 error not with npm itself.
99 error Tell the author that this fails on your system:
99 error     node-gyp configure build
99 error You can get their info via:
99 error     npm owner ls bignum
99 error There is likely additional logging output above.
100 error System Darwin 10.8.0
101 error command "/opt/local/bin/node" "/opt/local/bin/npm" "install" "bignum"
102 error cwd /path/to/project
103 error node -v v0.10.5
104 error npm -v 1.2.18
105 error code ELIFECYCLE
106 verbose exit [ 1, true ]

Library doesn't work with LE

Hello!

A discovered that bignum doesn't correctly handle opts param in toBuffer and fromBuffer methods.

For example:

var BigNum = require('bignum');
var a = BigNum(256);
console.log(a.toBuffer({ endian: 'little' })); // Buffer 01 00 instead of Buffer 00 01

bignum.node: undefined symbol: node_module_register

Did anybody know, how can i fix that problem?

On CentOS

module.js:356
  Module._extensions[extension](this, filename);
                               ^
Error: /opt/Pools/unomp/node_modules/bignum/build/Release/bignum.node: undefined symbol: node_module_register
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at new require (module.js:380:17)
    at Object.<anonymous> (/opt/Pools/unomp/node_modules/bignum/index.js:4:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

.toString(36) not supported

Only base 10 and 16 are supported. Would like to see base 36 support (popular for generating human-readable keys from large numbers).

Eats all memory very quickly then killed by OOM

node-bignum uses all the memory in my system.

I have, as a test of various big number modules, been calculating the 4784969th number in the Finonacci sequence. This is the first Fibonacci number of one million decimal digits. See code below. Whilst node-bignum seems to be a lot faster than say big-integer by a factor of about 20 for fibo(40000) it does use a lot of memory. fibo(400000) uses half of my 4GB RAM already! For comparison big-integer only uses 3% of my memory when calculating fibo(4784969).

I am doing something wrong, is this normal or a bug?

Edit: Using node 0.11.14 here.
Edit: Same problem with 0.10.32

var bigNumber = require("bignum");  

function fibo_iterative(n) {
    var first = bigNumber(0),
        second = bigNumber(1),
        next = bigNumber(0),
        c;
    if (n <= 1) {
        return bigNumber(n);
    }
    for (c = 0; c < n - 1; c += 1) {
        next = first.add(second);
        first = second;
        second = next;
    }
    return next;
}

var resultString;
var n = 4784969;  // The first fibo number with one million digits!
resultString = fibo_iterative(n).toString();
console.log("The " + resultString.length + " digits of fibo(" + n + ") are:");
console.log(resultString);
console.log("Done.");

node-gyp configure build fails on Mac OS 10.10

System information

  • OS: Mac OS 10.10.2
  • Compiler: Apple LLVM version 6.1.0 (clang-602.0.49)
  • Node version: 0.12.2
  • NPM version: 2.7.4

Errors

> node-gyp configure build

  CXX(target) Release/obj.target/bignum/bignum.o
../bignum.cc:172:16: error: expected class name
class BigNum : ObjectWrap {
               ^
../bignum.cc:189:34: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> New(const Arguments& args);
                                 ^~~~~~~~~
                                 v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:190:39: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> ToString(const Arguments& args);
                                      ^~~~~~~~~
                                      v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:191:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Badd(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:192:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Bsub(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:193:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Bmul(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:194:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Bdiv(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:195:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Uadd(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:196:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Usub(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:197:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Umul(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:198:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Udiv(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:199:40: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Umul_2exp(const Arguments& args);
                                       ^~~~~~~~~
                                       v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:200:40: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Udiv_2exp(const Arguments& args);
                                       ^~~~~~~~~
                                       v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:201:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Babs(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:202:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Bneg(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:203:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Bmod(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:204:35: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Umod(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:205:36: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Bpowm(const Arguments& args);
                                   ^~~~~~~~~
                                   v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:206:36: error: unknown type name 'Arguments'; did you mean
      'v8::internal::Arguments'?
  static Handle<Value> Upowm(const Arguments& args);
                                   ^~~~~~~~~
                                   v8::internal::Arguments
/Users/andy/.node-gyp/0.12.2/deps/v8/include/v8.h:127:7: note: 
      'v8::internal::Arguments' declared here
class Arguments;
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/bignum/bignum.o] Error 1
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:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Darwin 14.1.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/andy/projects/resume/site/node_modules/mongoose-shortid/node_modules/bignum
gyp ERR! node -v v0.12.2
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok 

[. . . other modules install . . .]

npm ERR! Darwin 14.1.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v0.12.2
npm ERR! npm  v2.7.4
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp configure build'.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/andy/projects/resume/site/npm-debug.log

Decimals

Hello,

When using decimals they are floored to the nearest integer. Is it possible to use decimal numbers in Bignum?

Example:

console.log( bignum('1.618033988749895').toString() );
// result: 1

Unable to install bignum

When I try to install bignum with:

sudo npm install bignum

It fails with:

Tell the author that this fails on your system:
node-gyp configure build

node-gyp configure build failed

Hi all.
I got this when I tried to install bignum, how to fix it?

C:\Windows\system32>npm install bignum
npm http GET https://registry.npmjs.org/bignum
npm http 304 https://registry.npmjs.org/bignum
npm http GET https://registry.npmjs.org/nan
npm http 304 https://registry.npmjs.org/nan

[email protected] install C:\Windows\system32\node_modules\bignum
node-gyp configure build

C:\Windows\system32\node_modules\bignum>node "C:\nodejs\node_modules\npm\bin\nod
e-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" configure build
gyp: binding.gyp not found (cwd: C:\Windows\system32\node_modules\bignum) while
trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: gyp failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (C:\nodejs\node_modules\npm\node_mod
ules\node-gyp\lib\configure.js:340:16)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:807:
12)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "C:\nodejs\node_modules\npm\node_modules\node-gyp
bin\node-gyp.js" "configure" "build"
gyp ERR! cwd C:\Windows\system32\node_modules\bignum
gyp ERR! node -v v0.10.28
gyp ERR! node-gyp -v v0.13.0
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp configure build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp configure build
npm ERR! You can get their info via:
npm ERR! npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\nodejs\node.exe" "C:\nodejs\node_modules\npm\bin\n
pm-cli.js" "install" "bignum"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.9
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0

thanks~

can't install bignum on heroku or could IDE

Hi stephen,
I get this error while deploying

Installing dependencies with npm

[email protected] install /tmp/build_1xz3suiyqvjwh/node_modules/bignum
node-gyp configure build

sh: node-gyp: not found
npm ERR! error installing [email protected] Error: [email protected] install: node-gyp configure build
npm ERR! error installing [email protected] sh "-c" "node-gyp configure build" failed with 127
npm ERR! error installing [email protected] at ChildProcess. (/tmp/node-npm-Pi2L/lib/utils/exec.js:49:20)
npm ERR! error installing [email protected] at ChildProcess.emit (events.js:70:17)
npm ERR! error installing [email protected] at maybeExit (child_process.js:358:16)
npm ERR! error installing [email protected] at Process.onexit (child_process.js:394:5)
npm ERR! [email protected] install: node-gyp configure build
npm ERR! sh "-c" "node-gyp configure build" failed with 127
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp configure build
npm ERR! You can get their info via:
npm ERR! npm owner ls bignum
npm ERR! There is likely additional logging output above.
npm ERR!
npm ERR! System Linux 2.6.32-343-ec2
npm ERR! command "/tmp/node-node-8eWj/bin/node" "/tmp/node-npm-Pi2L/cli.js" "install" "--production"
npm ERR! cwd /tmp/build_1xz3suiyqvjwh
npm ERR! node -v v0.6.20
npm ERR! npm -v 1.0.106
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /tmp/build_1xz3suiyqvjwh/npm-debug.log
npm not ok
! Failed to install --production dependencies with npm ! Heroku push rejected, failed to compile Node.js

is there anything todo?

.toBuffer(opts) description is not clear for a buffer newbie

(I wasn't sure where else to ask this:)

I'm trying to take a bignum integer and create a corresponding buffer that is for a 64-bit unsigned big endian. I'm too uninformed about buffers to know what "size" to set it for the toBuffer call ... is it 64?

lots of issues with v0.11 and v0.12

lots of compile errors:

child_process: customFds option is deprecated, use stdio instead.
  CXX(target) Release/obj.target/bignum/bignum.o
../bignum.cc:172:16: error: expected class name
class BigNum : ObjectWrap {
               ^
../bignum.cc:189:34: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> New(const Arguments& args);
                                 ^~~~~~~~~
                                 v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:190:39: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> ToString(const Arguments& args);
                                      ^~~~~~~~~
                                      v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:191:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Badd(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:192:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Bsub(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:193:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Bmul(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:194:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Bdiv(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:195:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Uadd(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:196:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Usub(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:197:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Umul(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:198:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Udiv(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:199:40: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Umul_2exp(const Arguments& args);
                                       ^~~~~~~~~
                                       v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:200:40: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Udiv_2exp(const Arguments& args);
                                       ^~~~~~~~~
                                       v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:201:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Babs(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:202:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Bneg(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:203:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Bmod(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:204:35: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Umod(const Arguments& args);
                                  ^~~~~~~~~
                                  v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:205:36: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Bpowm(const Arguments& args);
                                   ^~~~~~~~~
                                   v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
../bignum.cc:206:36: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
  static Handle<Value> Upowm(const Arguments& args);
                                   ^~~~~~~~~
                                   v8::internal::Arguments
/Users/tobias/.node-gyp/0.12.0/deps/v8/include/v8.h:127:7: note: 'v8::internal::Arguments' declared here
class Arguments;
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/bignum/bignum.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/tobias/.nodebrew/node/v0.12.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1067:12)
gyp ERR! System Darwin 14.1.0
gyp ERR! command "node" "/Users/tobias/.nodebrew/node/v0.12.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/tobias/Projects/app/node_modules/ip2loc/node_modules/bignum
gyp ERR! node -v v0.12.0
gyp ERR! node-gyp -v v1.0.2
gyp ERR! not ok

Converting negative numbers to Buffers

This is more a question: is there any plans when conversion of negative numbers to buffers will be implemented?

As of now I'm doing this to convert negative numbers to Int64:

var buf1 = new Buffer(4);
var buf2 = new Buffer(4);

buf1.writeInt32BE(-1, 0);
buf2.writeInt32BE(-1, 0);

// <Buffer ff ff ff ff ff ff ff ff>
var buf3 = Buffer.concat([ buf1, buf2 ]); 

It would be very handy to utilize only bignum package to achieve the same result.

doesn't work on node 0.8.3

reinstalled big-num via npm, but get the following error when starting my server:

dlopen(/Users/bknorr/Dev/tsv/express/app/node_modules/bignum/build/Release/bignum.node, 1): no suitable image found. Did find:
/Users/bknorr/Dev/tsv/express/app/node_modules/bignum/build/Release/bignum.node: mach-o, but wrong architecture
at Object.Module._extensions..node (module.js:485:11)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at new require (module.js:378:17)
at Object. (/Users/bknorr/Dev/tsv/express/app/node_modules/bignum/index.js:6:14)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)

build failure: fatal error: 'v8.h' file not found

npm http 304 https://registry.npmjs.org/bignum

> [email protected] install /Users/sgfdeployer/temp/node_modules/mongoose-shortid/node_modules/bignum
> node-gyp configure build

  CXX(target) Release/obj.target/bignum/bignum.o
../bignum.cc:8:10: fatal error: 'v8.h' file not found
#include <v8.h>
         ^
1 error generated.
make: *** [Release/obj.target/bignum/bignum.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:236:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:99:17)
gyp ERR! stack     at Process._handle.onexit (child_process.js:678:10)
gyp ERR! System Darwin 13.0.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/sgfdeployer/temp/node_modules/mongoose-shortid/node_modules/bignum
gyp ERR! node -v v0.8.14
gyp ERR! node-gyp -v v0.7.1
gyp ERR! not ok 
npm ERR! [email protected] install: `node-gyp configure build`
npm ERR! `sh "-c" "node-gyp configure build"` failed with 1
npm ERR! 
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 13.0.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "."
npm ERR! cwd /Users/sgfdeployer/temp
npm ERR! node -v v0.8.14
npm ERR! npm -v 1.1.65
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/sgfdeployer/temp/npm-debug.log
npm ERR! not ok code 0

Cannot open include file: 'openssl/bn.h' in windows

..\bignum.cc(9): fatal error C1083: Cannot open include file: 'openssl/bn.h': No such file or directory [(project path from drive in windows)\node_modules\int-encoder\node_modules
bignum\build\bignum.vcxproj]

Can we have a fix for this bug as well.

npm install bignum Error Cannot open include file: 'openssl/bn.h'

..\bignum.cc(9): fatal error C1083: Cannot open include file: 'openssl/bn.h': No such file or directory [C:\Program Files\nodejs\node_modules\homebridge-master\node_modules\bignum\build\bignum.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe 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:269:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System Windows_NT 6.1.7600
gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "configure" "build"
gyp ERR! cwd C:\Program Files\nodejs\node_modules\homebridge-master\node_modules\bignum
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.1
gyp ERR! not ok
npm ERR! Windows_NT 6.1.7600
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "bignum"
npm ERR! node v0.12.7
npm ERR! npm v2.11.3
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp configure build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp configure build'.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp configure build
npm ERR! You can get their info via:
npm ERR! npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm install fails on FreeBSD 10.0-RELEASE-p7

Stack

gyp ERR! build error
gyp ERR! stack Error: gmake failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack at ChildProcess.emit (events.js:110:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12)
gyp ERR! System FreeBSD 10.0-RELEASE-p7
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /usr/home/nmadmin/node_modules/bignum
gyp ERR! node -v v0.12.7
gyp ERR! node-gyp -v v2.0.2
gyp ERR! not ok
npm ERR! FreeBSD 10.0-RELEASE-p7
npm ERR! argv "node" "/usr/local/bin/npm" "install" "bignum@latest"
npm ERR! node v0.12.7
npm ERR! npm v2.12.1
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp configure build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp configure build'.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp configure build
npm ERR! You can get their info via:
npm ERR! npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /usr/home/nmadmin/npm-debug.log

Full Log:

0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'install', 'bignum@latest' ]
2 info using [email protected]
3 info using [email protected]
4 verbose install initial load of /usr/home/nmadmin/package.json
5 verbose installManyTop reading scoped package data from /usr/home/nmadmin/node_modules/async/package.json
6 verbose readDependencies loading dependencies from /usr/home/nmadmin/package.json
7 silly cache add args [ 'bignum@latest', null ]
8 verbose cache add spec bignum@latest
9 silly cache add parsed spec { raw: 'bignum@latest',
9 silly cache add scope: null,
9 silly cache add name: 'bignum',
9 silly cache add rawSpec: 'latest',
9 silly cache add spec: 'latest',
9 silly cache add type: 'tag' }
10 silly addNamed bignum@latest
11 verbose addNamed "latest" is being treated as a dist-tag for bignum
12 info addNameTag [ 'bignum', 'latest' ]
13 silly mapToRegistry name bignum
14 silly mapToRegistry using default registry
15 silly mapToRegistry registry https://registry.npmjs.org/
16 silly mapToRegistry uri https://registry.npmjs.org/bignum
17 verbose addNameTag registry:https://registry.npmjs.org/bignum not in flight; fetching
18 verbose request uri https://registry.npmjs.org/bignum
19 verbose request no auth needed
20 info attempt registry request try #1 at 18:07:56
21 verbose request id 03be6f877b447e75
22 verbose etag "CLBTQMP4PRNXCDNUOP74PQZU8"
23 http request GET https://registry.npmjs.org/bignum
24 http 304 https://registry.npmjs.org/bignum
25 silly get cb [ 304,
25 silly get { date: 'Mon, 20 Jul 2015 18:09:10 GMT',
25 silly get via: '1.1 varnish',
25 silly get 'cache-control': 'max-age=60',
25 silly get etag: '"CLBTQMP4PRNXCDNUOP74PQZU8"',
25 silly get age: '0',
25 silly get connection: 'keep-alive',
25 silly get 'x-served-by': 'cache-dfw1830-DFW',
25 silly get 'x-cache': 'HIT',
25 silly get 'x-cache-hits': '1',
25 silly get 'x-timer': 'S1437415750.409926,VS0,VE49',
25 silly get vary: 'Accept' } ]
26 verbose etag https://registry.npmjs.org/bignum from cache
27 verbose get saving bignum to /home/nmadmin/.npm/registry.npmjs.org/bignum/.cache.json
28 silly addNameTag next cb for bignum with tag latest
29 silly addNamed [email protected]
30 verbose addNamed "0.10.2" is a plain semver version for bignum
31 silly cache afterAdd [email protected]
32 verbose afterAdd /home/nmadmin/.npm/bignum/0.10.2/package/package.json not in flight; writing
33 verbose afterAdd /home/nmadmin/.npm/bignum/0.10.2/package/package.json written
34 silly install resolved [ { name: 'bignum',
34 silly install resolved version: '0.10.2',
34 silly install resolved description: 'Arbitrary-precision integer arithmetic using OpenSSL',
34 silly install resolved main: './index.js',
34 silly install resolved repository:
34 silly install resolved { type: 'git',
34 silly install resolved url: 'git+ssh://[email protected]/justmoon/node-bignum.git' },
34 silly install resolved keywords:
34 silly install resolved [ 'openssl',
34 silly install resolved 'big',
34 silly install resolved 'bignum',
34 silly install resolved 'bigint',
34 silly install resolved 'integer',
34 silly install resolved 'arithmetic',
34 silly install resolved 'precision' ],
34 silly install resolved author:
34 silly install resolved { name: 'Stefan Thomas',
34 silly install resolved email: '[email protected]',
34 silly install resolved url: 'http://www.justmoon.net' },
34 silly install resolved dependencies: { nan: '~1.8.4' },
34 silly install resolved devDependencies: { expresso: '>=0.6.0', binary: '>=0.1.7', put: '>=0.0.5' },
34 silly install resolved license: 'MIT/X11',
34 silly install resolved engine: { node: '>=0.8.0' },
34 silly install resolved scripts: { install: 'node-gyp configure build', test: 'expresso' },
34 silly install resolved contributors: [ [Object] ],
34 silly install resolved gitHead: 'df9114cb731c9eabe9fcdd655949f70e6d530448',
34 silly install resolved bugs: { url: 'https://github.com/justmoon/node-bignum/issues' },
34 silly install resolved homepage: 'https://github.com/justmoon/node-bignum#readme',
34 silly install resolved _id: '[email protected]',
34 silly install resolved _shasum: '85e3bfaec4024960a23e2d2be118b6f459d43af7',
34 silly install resolved _from: 'bignum@latest',
34 silly install resolved _npmVersion: '2.11.3',
34 silly install resolved _nodeVersion: '2.3.1',
34 silly install resolved _npmUser: { name: 'rvagg', email: '[email protected]' },
34 silly install resolved maintainers: [ [Object], [Object], [Object] ],
34 silly install resolved dist:
34 silly install resolved { shasum: '85e3bfaec4024960a23e2d2be118b6f459d43af7',
34 silly install resolved tarball: 'http://registry.npmjs.org/bignum/-/bignum-0.10.2.tgz' },
34 silly install resolved directories: {},
34 silly install resolved _resolved: 'https://registry.npmjs.org/bignum/-/bignum-0.10.2.tgz',
34 silly install resolved readme: 'ERROR: No README data found!' } ]
35 info install [email protected] into /usr/home/nmadmin
36 info installOne [email protected]
37 verbose installOne of bignum to /usr/home/nmadmin not in flight; installing
38 verbose lock using /home/nmadmin/.npm/_locks/bignum-c76c7b87b91b2968.lock for /usr/home/nmadmin/node_modules/bignum
39 silly install write writing bignum 0.10.2 to /usr/home/nmadmin/node_modules/bignum
40 verbose unbuild node_modules/bignum
41 silly gentlyRm /usr/home/nmadmin/node_modules/bignum is being purged from base /usr/home/nmadmin
42 verbose gentlyRm don't care about contents; nuking /usr/home/nmadmin/node_modules/bignum
43 verbose tar unpack /home/nmadmin/.npm/bignum/0.10.2/package.tgz
44 verbose tar unpacking to /usr/home/nmadmin/node_modules/bignum
45 silly gentlyRm /usr/home/nmadmin/node_modules/bignum is being purged
46 verbose gentlyRm don't care about contents; nuking /usr/home/nmadmin/node_modules/bignum
47 silly gunzTarPerm modes [ '755', '644' ]
48 silly gunzTarPerm extractEntry package.json
49 silly gunzTarPerm extractEntry .npmignore
50 silly gunzTarPerm extractEntry index.js
51 silly gunzTarPerm extractEntry binding.gyp
52 silly gunzTarPerm extractEntry README.markdown
53 silly gunzTarPerm extractEntry bignum.cc
54 silly gunzTarPerm modified mode [ 'bignum.cc', 436, 420 ]
55 silly gunzTarPerm extractEntry examples/gen.js
56 silly gunzTarPerm extractEntry examples/perfect.js
57 silly gunzTarPerm extractEntry examples/simple.js
58 silly gunzTarPerm extractEntry .dntrc
59 silly gunzTarPerm extractEntry .travis.yml
60 silly gunzTarPerm extractEntry test/big.js
61 silly gunzTarPerm extractEntry test/buf.js
62 silly gunzTarPerm extractEntry test/gh52.js
63 silly gunzTarPerm modified mode [ 'test/gh52.js', 436, 420 ]
64 silly gunzTarPerm extractEntry test/isbignum.js
65 silly gunzTarPerm extractEntry test/seed.js
66 silly gunzTarPerm extractEntry test/wincrash.js
67 verbose write writing to /usr/home/nmadmin/node_modules/bignum/package.json
68 info preinstall [email protected]
69 verbose readDependencies loading dependencies from /usr/home/nmadmin/node_modules/bignum/package.json
70 silly prepareForInstallMany adding nan@~1.8.4 from bignum dependencies
71 verbose readDependencies loading dependencies from /usr/home/nmadmin/node_modules/bignum/package.json
72 silly cache add args [ 'nan@~1.8.4', null ]
73 verbose cache add spec nan@~1.8.4
74 silly cache add parsed spec { raw: 'nan@~1.8.4',
74 silly cache add scope: null,
74 silly cache add name: 'nan',
74 silly cache add rawSpec: '~1.8.4',
74 silly cache add spec: '>=1.8.4 <1.9.0',
74 silly cache add type: 'range' }
75 silly addNamed nan@>=1.8.4 <1.9.0
76 verbose addNamed ">=1.8.4 <1.9.0" is a valid semver range for nan
77 silly addNameRange { name: 'nan', range: '>=1.8.4 <1.9.0', hasData: false }
78 silly mapToRegistry name nan
79 silly mapToRegistry using default registry
80 silly mapToRegistry registry https://registry.npmjs.org/
81 silly mapToRegistry uri https://registry.npmjs.org/nan
82 verbose addNameRange registry:https://registry.npmjs.org/nan not in flight; fetching
83 verbose request uri https://registry.npmjs.org/nan
84 verbose request no auth needed
85 info attempt registry request try #1 at 18:07:56
86 verbose etag "9T2TEINHQE1CYR42PWQNCEY3X"
87 http request GET https://registry.npmjs.org/nan
88 http 304 https://registry.npmjs.org/nan
89 silly get cb [ 304,
89 silly get { date: 'Mon, 20 Jul 2015 18:09:10 GMT',
89 silly get via: '1.1 varnish',
89 silly get 'cache-control': 'max-age=60',
89 silly get etag: '"9T2TEINHQE1CYR42PWQNCEY3X"',
89 silly get age: '36',
89 silly get connection: 'keep-alive',
89 silly get 'x-served-by': 'cache-dfw1828-DFW',
89 silly get 'x-cache': 'HIT',
89 silly get 'x-cache-hits': '3',
89 silly get 'x-timer': 'S1437415750.813172,VS0,VE0',
89 silly get vary: 'Accept' } ]
90 verbose etag https://registry.npmjs.org/nan from cache
91 verbose get saving nan to /home/nmadmin/.npm/registry.npmjs.org/nan/.cache.json
92 silly addNameRange number 2 { name: 'nan', range: '>=1.8.4 <1.9.0', hasData: true }
93 silly addNameRange versions [ 'nan',
93 silly addNameRange [ '0.3.0-wip',
93 silly addNameRange '0.3.0-wip2',
93 silly addNameRange '0.3.0',
93 silly addNameRange '0.3.1',
93 silly addNameRange '0.3.2',
93 silly addNameRange '0.4.0',
93 silly addNameRange '0.4.1',
93 silly addNameRange '0.4.2',
93 silly addNameRange '0.4.3',
93 silly addNameRange '0.4.4',
93 silly addNameRange '0.5.0',
93 silly addNameRange '0.5.1',
93 silly addNameRange '0.5.2',
93 silly addNameRange '0.6.0',
93 silly addNameRange '0.7.0',
93 silly addNameRange '0.7.1',
93 silly addNameRange '0.8.0',
93 silly addNameRange '1.0.0',
93 silly addNameRange '1.1.0',
93 silly addNameRange '1.1.1',
93 silly addNameRange '1.1.2',
93 silly addNameRange '1.2.0',
93 silly addNameRange '1.3.0',
93 silly addNameRange '1.4.0',
93 silly addNameRange '1.4.1',
93 silly addNameRange '1.5.0',
93 silly addNameRange '1.4.2',
93 silly addNameRange '1.4.3',
93 silly addNameRange '1.5.1',
93 silly addNameRange '1.5.2',
93 silly addNameRange '1.6.0',
93 silly addNameRange '1.5.3',
93 silly addNameRange '1.6.1',
93 silly addNameRange '1.6.2',
93 silly addNameRange '1.7.0',
93 silly addNameRange '1.8.0',
93 silly addNameRange '1.8.1',
93 silly addNameRange '1.8.2',
93 silly addNameRange '1.8.3',
93 silly addNameRange '1.8.4' ] ]
94 silly addNamed [email protected]
95 verbose addNamed "1.8.4" is a plain semver version for nan
96 silly cache afterAdd [email protected]
97 verbose afterAdd /home/nmadmin/.npm/nan/1.8.4/package/package.json not in flight; writing
98 verbose afterAdd /home/nmadmin/.npm/nan/1.8.4/package/package.json written
99 silly install resolved [ { name: 'nan',
99 silly install resolved version: '1.8.4',
99 silly install resolved description: 'Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility',
99 silly install resolved main: 'include_dirs.js',
99 silly install resolved repository: { type: 'git', url: 'git://github.com/iojs/nan.git' },
99 silly install resolved scripts:
99 silly install resolved { test: 'tap --gc test/js/*-test.js',
99 silly install resolved 'rebuild-tests': 'pangyp rebuild --directory test' },
99 silly install resolved contributors:
99 silly install resolved [ [Object],
99 silly install resolved [Object],
99 silly install resolved [Object],
99 silly install resolved [Object],
99 silly install resolved [Object],
99 silly install resolved [Object],
99 silly install resolved [Object] ],
99 silly install resolved devDependencies:
99 silly install resolved { bindings: '~1.2.1',
99 silly install resolved 'node-gyp': '~1.0.2',
99 silly install resolved pangyp: '~2.0.1',
99 silly install resolved tap: '~0.7.1',
99 silly install resolved xtend: '~4.0.0' },
99 silly install resolved license: 'MIT',
99 silly install resolved gitHead: 'ed3bbf4ced0cf7937b4e4164766797f71aa97f3d',
99 silly install resolved bugs: { url: 'https://github.com/iojs/nan/issues' },
99 silly install resolved homepage: 'https://github.com/iojs/nan#readme',
99 silly install resolved _id: '[email protected]',
99 silly install resolved _shasum: '3c76b5382eab33e44b758d2813ca9d92e9342f34',
99 silly install resolved _from: 'nan@>=1.8.4 <1.9.0',
99 silly install resolved _npmVersion: '2.8.3',
99 silly install resolved _nodeVersion: '0.12.2',
99 silly install resolved _npmUser: { name: 'kkoopa', email: '[email protected]' },
99 silly install resolved maintainers: [ [Object], [Object] ],
99 silly install resolved dist:
99 silly install resolved { shasum: '3c76b5382eab33e44b758d2813ca9d92e9342f34',
99 silly install resolved tarball: 'http://registry.npmjs.org/nan/-/nan-1.8.4.tgz' },
99 silly install resolved directories: {},
99 silly install resolved _resolved: 'https://registry.npmjs.org/nan/-/nan-1.8.4.tgz',
99 silly install resolved readme: 'ERROR: No README data found!' } ]
100 info install [email protected] into /usr/home/nmadmin/node_modules/bignum
101 info installOne [email protected]
102 verbose installOne of nan to /usr/home/nmadmin/node_modules/bignum not in flight; installing
103 verbose lock using /home/nmadmin/.npm/_locks/nan-d8cc309cc959fff2.lock for /usr/home/nmadmin/node_modules/bignum/node_modules/nan
104 silly install write writing nan 1.8.4 to /usr/home/nmadmin/node_modules/bignum/node_modules/nan
105 verbose unbuild node_modules/bignum/node_modules/nan
106 silly gentlyRm /usr/home/nmadmin/node_modules/bignum/node_modules/nan is being purged from base /usr/home/nmadmin
107 verbose gentlyRm don't care about contents; nuking /usr/home/nmadmin/node_modules/bignum/node_modules/nan
108 verbose tar unpack /home/nmadmin/.npm/nan/1.8.4/package.tgz
109 verbose tar unpacking to /usr/home/nmadmin/node_modules/bignum/node_modules/nan
110 silly gentlyRm /usr/home/nmadmin/node_modules/bignum/node_modules/nan is being purged
111 verbose gentlyRm don't care about contents; nuking /usr/home/nmadmin/node_modules/bignum/node_modules/nan
112 silly gunzTarPerm modes [ '755', '644' ]
113 silly gunzTarPerm extractEntry package.json
114 silly gunzTarPerm modified mode [ 'package.json', 436, 420 ]
115 silly gunzTarPerm extractEntry README.md
116 silly gunzTarPerm modified mode [ 'README.md', 436, 420 ]
117 silly gunzTarPerm extractEntry include_dirs.js
118 silly gunzTarPerm modified mode [ 'include_dirs.js', 436, 420 ]
119 silly gunzTarPerm extractEntry LICENSE.md
120 silly gunzTarPerm modified mode [ 'LICENSE.md', 436, 420 ]
121 silly gunzTarPerm extractEntry .dntrc
122 silly gunzTarPerm modified mode [ '.dntrc', 436, 420 ]
123 silly gunzTarPerm extractEntry appveyor.yml
124 silly gunzTarPerm modified mode [ 'appveyor.yml', 436, 420 ]
125 silly gunzTarPerm extractEntry nan.h
126 silly gunzTarPerm modified mode [ 'nan.h', 436, 420 ]
127 silly gunzTarPerm extractEntry nan_implementation_12_inl.h
128 silly gunzTarPerm modified mode [ 'nan_implementation_12_inl.h', 436, 420 ]
129 silly gunzTarPerm extractEntry nan_implementation_pre_12_inl.h
130 silly gunzTarPerm modified mode [ 'nan_implementation_pre_12_inl.h', 436, 420 ]
131 silly gunzTarPerm extractEntry nan_new.h
132 silly gunzTarPerm modified mode [ 'nan_new.h', 436, 420 ]
133 silly gunzTarPerm extractEntry nan_string_bytes.h
134 silly gunzTarPerm modified mode [ 'nan_string_bytes.h', 436, 420 ]
135 silly gunzTarPerm extractEntry CHANGELOG.md
136 silly gunzTarPerm modified mode [ 'CHANGELOG.md', 436, 420 ]
137 verbose write writing to /usr/home/nmadmin/node_modules/bignum/node_modules/nan/package.json
138 info preinstall [email protected]
139 verbose readDependencies loading dependencies from /usr/home/nmadmin/node_modules/bignum/node_modules/nan/package.json
140 verbose readDependencies loading dependencies from /usr/home/nmadmin/node_modules/bignum/node_modules/nan/package.json
141 silly install resolved []
142 verbose about to build /usr/home/nmadmin/node_modules/bignum/node_modules/nan
143 info build /usr/home/nmadmin/node_modules/bignum/node_modules/nan
144 info linkStuff [email protected]
145 silly linkStuff [email protected] has /usr/home/nmadmin/node_modules/bignum/node_modules as its parent node_modules
146 verbose linkBins [email protected]
147 verbose rebuildBundles [email protected]
148 info install [email protected]
149 info postinstall [email protected]
150 verbose unlock done using /home/nmadmin/.npm/_locks/nan-d8cc309cc959fff2.lock for /usr/home/nmadmin/node_modules/bignum/node_modules/nan
151 verbose about to build /usr/home/nmadmin/node_modules/bignum
152 info build /usr/home/nmadmin/node_modules/bignum
153 info linkStuff [email protected]
154 silly linkStuff [email protected] has /usr/home/nmadmin/node_modules as its parent node_modules
155 verbose linkBins [email protected]
156 verbose rebuildBundles [email protected]
157 verbose rebuildBundles [ 'nan' ]
158 info install [email protected]
159 verbose unsafe-perm in lifecycle true
160 info [email protected] Failed to exec install script
161 verbose unlock done using /home/nmadmin/.npm/_locks/bignum-c76c7b87b91b2968.lock for /usr/home/nmadmin/node_modules/bignum
162 verbose stack Error: [email protected] install: node-gyp configure build
162 verbose stack Exit status 1
162 verbose stack at EventEmitter. (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
162 verbose stack at EventEmitter.emit (events.js:110:17)
162 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
162 verbose stack at ChildProcess.emit (events.js:110:17)
162 verbose stack at maybeClose (child_process.js:1015:16)
162 verbose stack at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
163 verbose pkgid [email protected]
164 verbose cwd /usr/home/nmadmin
165 error FreeBSD 10.0-RELEASE-p7
166 error argv "node" "/usr/local/bin/npm" "install" "bignum@latest"
167 error node v0.12.7
168 error npm v2.12.1
169 error code ELIFECYCLE
170 error [email protected] install: node-gyp configure build
170 error Exit status 1
171 error Failed at the [email protected] install script 'node-gyp configure build'.
171 error This is most likely a problem with the bignum package,
171 error not with npm itself.
171 error Tell the author that this fails on your system:
171 error node-gyp configure build
171 error You can get their info via:
171 error npm owner ls bignum
171 error There is likely additional logging output above.
172 verbose exit [ 1, true ]
173 verbose unbuild node_modules/bignum
174 info preuninstall [email protected]
175 info uninstall [email protected]
176 verbose unbuild rmStuff [email protected] from /usr/home/nmadmin/node_modules
177 info postuninstall [email protected]
178 silly gentlyRm /usr/home/nmadmin/node_modules/bignum is being purged from base /usr/home/nmadmin
179 verbose gentlyRm don't care about contents; nuking /usr/home/nmadmin/node_modules/bignum
180 silly vacuum-fs purging /usr/home/nmadmin/node_modules/bignum
181 silly vacuum-fs quitting because other entries in /usr/home/nmadmin/node_modules

Compilation ... fails somehow.

I am having a Problem compiling this on Debian:
Once I cloned & ran the compilation (npm install), no "build" directory appears, which causes npm test to fail.

Where is this supposed to be compiled to?

The specified module could not be found.

Hey there,
I use nodejs x64 on Windows 7. I've already installed Win64OpenSSL-1_0_0r. I ran "npm install -g bignum" and it didn't fail. Now, the problem is when i try to use the module in a simple hello world application it fails. In a file called server.js i have this line:

var BigNum = require('bignum');

C:\Users\Sopata\bigINt>node server.js
module.js:355
Module._extensions[extension](this, filename);
^
Error: The specified module could not be found.
C:\Users\Sopata\node_modules\bignum\build\Release\bignum.node
at Error (native)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at new require (module.js:384:17)
at Object. (C:\Users\i312038\node_modules\bignum\index.js:4:14)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)

I am pretty new to nodejs so this could not be a problem with the module but with my machine.

node-gyp bulid failure

sudo npm install bignum

then I got this log

    npm http GET https://registry.npmjs.org/bignum
    npm http 304 https://registry.npmjs.org/bignum

    > [email protected] install /home/ran/external/insight-api/node_modules/bignum
    > node-gyp configure build

    gyp: /home/ran/.node-gyp/0.10.25/common.gypi not found (cwd: /home/ran/external/insight-api/node_modules/bignum) while reading includes of binding.gyp
    gyp ERR! configure error 
    gyp ERR! stack Error: `gyp` failed with exit code: 1
    gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:337:16)
    gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
    gyp ERR! System Linux 3.2.0-29-generic
    gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
    gyp ERR! cwd /home/ran/external/insight-api/node_modules/bignum
    gyp ERR! node -v v0.10.25
    gyp ERR! node-gyp -v v0.12.2
    gyp ERR! not ok 
    npm ERR! [email protected] install: `node-gyp configure build`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the [email protected] install script.
    npm ERR! This is most likely a problem with the bignum package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR!     node-gyp configure build
    npm ERR! You can get their info via:
    npm ERR!     npm owner ls bignum
    npm ERR! There is likely additional logging output above.

    npm ERR! System Linux 3.2.0-29-generic
    npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "bignum"
    npm ERR! cwd /home/ran/external/insight-api
    npm ERR! node -v v0.10.25
    npm ERR! npm -v 1.3.24
    npm ERR! code ELIFECYCLE
    npm ERR! 
    npm ERR! Additional logging details can be found in:
    npm ERR!     /home/ran/external/insight-api/npm-debug.log
    npm ERR! not ok code 0

anyone have solution?

possible iojs issue

I'm seeing the following:

~/dev/testbig $ iojs
> require('bignum')
Error: Module did not self-register.
    at Error (native)
    at Module.load (module.js:341:32)
    at Function.Module._load (module.js:296:12)
    at Module.require (module.js:351:17)
    at new require (module.js:370:17)
    at Object.<anonymous> (/Users/jamuferguson/dev/testbig/node_modules/bignum/index.js:4:14)
    at Module._compile (module.js:446:26)
    at Object.Module._extensions..js (module.js:464:10)
    at Module.load (module.js:341:32)
    at Function.Module._load (module.js:296:12)

Here is what the install looks like:

~/dev/testbig $ npm install bignum
npm WARN package.json [email protected] No description
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
-
> [email protected] install /Users/jamuferguson/dev/testbig/node_modules/bignum
> node-gyp configure build

  CXX(target) Release/obj.target/bignum/bignum.o
  SOLINK_MODULE(target) Release/bignum.node
  SOLINK_MODULE(target) Release/bignum.node: Finished
[email protected] node_modules/bignum
└── [email protected]

npm install breakes on latest yosemite with latest node (v0.12.0)

Hi,

I updated node to latest on OS X and npm install fails finishing the install. I tried to put my npm-debug.log content in here, but it was too long. What should I paste of it so that it would help us find the issue?

This is the last lines of my console output, but there are a lot of other V8 errors shown.

npm ERR! Darwin 14.1.0
npm ERR! argv "node" "/usr/local/bin/npm" "install"
npm ERR! node v0.12.0
npm ERR! npm v2.5.1
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp configure build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp configure build'.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp configure build
npm ERR! You can get their info via:
npm ERR! npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /Users/edimoldovan/www/project/server/npm-debug.log

And an example V8 error:

../bignum.cc:206:36: error: unknown type name 'Arguments'; did you mean 'v8::internal::Arguments'?
static Handle Upowm(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments

Thanks,
Eduárd

Build fails under iojs 2.0.0

Something changed with the latest version of iojs that makes the bignum module not build.
It looks like something just changed with a function signature in v8. Probably a small fix.

ccheever@Charlies-MacBook:~/tmp$npm install bignum
-
> [email protected] install /Users/ccheever/tmp/node_modules/bignum
> node-gyp configure build

  CXX(target) Release/obj.target/bignum/bignum.o
In file included from ../bignum.cc:8:
In file included from ../node_modules/nan/nan.h:74:
In file included from ../node_modules/nan/nan_new.h:190:
../node_modules/nan/nan_implementation_12_inl.h:181:66: error: too many
      arguments to function call, expected at most 2, have 4
  return v8::Signature::New(v8::Isolate::GetCurrent(), receiver, argc, argv);
         ~~~~~~~~~~~~~~~~~~                                      ^~~~~~~~~~
/Users/ccheever/.node-gyp/2.0.0/deps/v8/include/v8.h:4188:3: note: 'New'
      declared here
  static Local<Signature> New(
  ^
1 error generated.
make: *** [Release/obj.target/bignum/bignum.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/ccheever/.nvm/versions/io.js/v2.0.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:169:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1009:12)
gyp ERR! System Darwin 14.3.0
gyp ERR! command "/Users/ccheever/.nvm/versions/io.js/v2.0.0/bin/iojs" "/Users/ccheever/.nvm/versions/io.js/v2.0.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/ccheever/tmp/node_modules/bignum
gyp ERR! node -v v2.0.0
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok
npm ERR! Darwin 14.3.0
npm ERR! argv "/Users/ccheever/.nvm/versions/io.js/v2.0.0/bin/iojs" "/Users/ccheever/.nvm/versions/io.js/v2.0.0/bin/npm" "install" "bignum"
npm ERR! node v2.0.0
npm ERR! npm  v2.9.0
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp configure build'.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/ccheever/tmp/npm-debug.log
ccheever@Charlies-MacBook:~/tmp$

Support base32 and base64

It would be very nice if this module supported base32 and base64... where base64 is fairly common, Crockford's Base32 is a much better representation for numbers being telephone friendly...

Thanks.

for base32 - b32 module

b32.encodeSync(bignum('500',10).toBuffer()) // 'AH2A'
bignum.fromBuffer(b32.decodeSync('AH2A')) // <BigNum 500>

for base64 - base64-js module

var b64 = require('base64-js');
b64.fromByteArray(bignum('500',10).toBuffer()) // 'AfQ='
bignum.fromBuffer(new Buffer(b64.toByteArray('AfQ='))) // <BigNum 500>

Install failure on standard Windows 7 PC

I am trying to install this package on a standard Windows 7 64-bit PC and can't seem to get it done. I first found out that Python is required which I installed. I then found out that trying to do it with Visual Studio 2008 didn't work because it is too old. So I installed VS 2010 Express and tried it from that command-prompt Window and got the following message:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform
.Targets(23,7): error MSB8007: The Platform for project 'bignum.vcxproj' is inv
alid. Platform='x64'. You may be seeing this message because you are trying to
build a project without a solution file, and have specified a non-default Plat
form that doesn't exist for this project. [c:\asn1c\dev\javascript\node_modules
\bignum\build\bignum.vcxproj]

Is anyone else having problems like these?

Can not install in Windows server 2012

Unable to install. I have OpenSSL and Python already installed.

Pretty sure this is the relevant bit:

..\bignum.cc(9): fatal error C1083: Cannot open include file: 'openssl/bn.h': N
o such file or directory [C:\temp\test\node_modules\bignum\build\bignum.vcxproj
]

I went to a clean directory and tried to install it alone from the command line to get a clean log file npm-debug.log, here it is:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\nodejs\\\\node.exe',
1 verbose cli   'C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install',
1 verbose cli   'bignum',
1 verbose cli   '--msvs_version=2012' ]
2 info using [email protected]
3 info using [email protected]
4 verbose node symlink C:\Program Files (x86)\nodejs\\node.exe
5 verbose cache add [ 'bignum', null ]
6 verbose cache add name=undefined spec="bignum" args=["bignum",null]
7 verbose parsed url { protocol: null,
7 verbose parsed url   slashes: null,
7 verbose parsed url   auth: null,
7 verbose parsed url   host: null,
7 verbose parsed url   port: null,
7 verbose parsed url   hostname: null,
7 verbose parsed url   hash: null,
7 verbose parsed url   search: null,
7 verbose parsed url   query: null,
7 verbose parsed url   pathname: 'bignum',
7 verbose parsed url   path: 'bignum',
7 verbose parsed url   href: 'bignum' }
8 silly lockFile 2c5ed189-bignum bignum
9 verbose lock bignum C:\Users\Administrator\AppData\Roaming\npm-cache\2c5ed189-bignum.lock
10 silly lockFile 2c5ed189-bignum bignum
11 silly lockFile 2c5ed189-bignum bignum
12 verbose addNamed [ 'bignum', '' ]
13 verbose addNamed [ null, '*' ]
14 silly lockFile b970923f-bignum bignum@
15 verbose lock bignum@ C:\Users\Administrator\AppData\Roaming\npm-cache\b970923f-bignum.lock
16 silly addNameRange { name: 'bignum', range: '*', hasData: false }
17 verbose url raw bignum
18 verbose url resolving [ 'https://registry.npmjs.org/', './bignum' ]
19 verbose url resolved https://registry.npmjs.org/bignum
20 info trying registry request attempt 1 at 15:05:59
21 verbose etag "AQJKN2WV1YYHDQLPVSQCKW90L"
22 http GET https://registry.npmjs.org/bignum
23 http 304 https://registry.npmjs.org/bignum
24 silly registry.get cb [ 304,
24 silly registry.get   { date: 'Tue, 03 Jun 2014 22:05:51 GMT',
24 silly registry.get     server: 'Apache',
24 silly registry.get     via: '1.1 varnish',
24 silly registry.get     'last-modified': 'Tue, 03 Jun 2014 22:05:52 GMT',
24 silly registry.get     'cache-control': 'max-age=1',
24 silly registry.get     etag: '"AQJKN2WV1YYHDQLPVSQCKW90L"',
24 silly registry.get     'x-served-by': 'cache-lax1425-LAX',
24 silly registry.get     'x-cache': 'MISS',
24 silly registry.get     'x-cache-hits': '0',
24 silly registry.get     'x-timer': 'S1401833151.833257,VS0,VE171',
24 silly registry.get     vary: 'Accept',
24 silly registry.get     'content-length': '0',
24 silly registry.get     'keep-alive': 'timeout=10, max=50',
24 silly registry.get     connection: 'Keep-Alive' } ]
25 verbose etag bignum from cache
26 silly addNameRange number 2 { name: 'bignum', range: '*', hasData: true }
27 silly addNameRange versions [ 'bignum',
27 silly addNameRange   [ '0.4.0',
27 silly addNameRange     '0.4.1',
27 silly addNameRange     '0.5.0',
27 silly addNameRange     '0.5.1',
27 silly addNameRange     '0.5.2',
27 silly addNameRange     '0.5.3',
27 silly addNameRange     '0.5.4',
27 silly addNameRange     '0.6.0',
27 silly addNameRange     '0.6.1',
27 silly addNameRange     '0.6.2',
27 silly addNameRange     '0.7.0' ] ]
28 verbose addNamed [ 'bignum', '0.7.0' ]
29 verbose addNamed [ '0.7.0', '0.7.0' ]
30 silly lockFile 77d8773b-bignum-0-7-0 [email protected]
31 verbose lock [email protected] C:\Users\Administrator\AppData\Roaming\npm-cache\77d8773b-bignum-0-7-0.lock
32 silly lockFile 77d8773b-bignum-0-7-0 [email protected]
33 silly lockFile 77d8773b-bignum-0-7-0 [email protected]
34 silly lockFile b970923f-bignum bignum@
35 silly lockFile b970923f-bignum bignum@
36 silly resolved [ { name: 'bignum',
36 silly resolved     version: '0.7.0',
36 silly resolved     description: 'Arbitrary-precision integer arithmetic using OpenSSL',
36 silly resolved     main: './index.js',
36 silly resolved     repository:
36 silly resolved      { type: 'git',
36 silly resolved        url: 'http://github.com/justmoon/node-bignum.git' },
36 silly resolved     keywords:
36 silly resolved      [ 'openssl',
36 silly resolved        'big',
36 silly resolved        'bignum',
36 silly resolved        'bigint',
36 silly resolved        'integer',
36 silly resolved        'arithmetic',
36 silly resolved        'precision' ],
36 silly resolved     author:
36 silly resolved      { name: 'Stefan Thomas',
36 silly resolved        email: '[email protected]',
36 silly resolved        url: 'http://www.justmoon.net' },
36 silly resolved     dependencies: { nan: '~1.0.0' },
36 silly resolved     devDependencies: { expresso: '>=0.6.0', binary: '>=0.1.7', put: '>=0.0.5' },
36 silly resolved     license: 'MIT/X11',
36 silly resolved     engine: { node: '>=0.8.0' },
36 silly resolved     scripts: { install: 'node-gyp configure build', test: 'expresso' },
36 silly resolved     contributors: [ [Object] ],
36 silly resolved     readme: 'bignum\n======\n\nArbitrary precision integral arithmetic for Node.js using\nOpenSSL.\n\nThis library is based on\n[node-bigint](https://github.com/substack/node-bigint) by\n[substack](https://github.com/substack), but instead of using libgmp,\nit uses the builtin bignum functionality provided by OpenSSL. The\nadvantage is that OpenSSL is already part of Node.js, so this\nlibrary does not add any external dependency whatsoever.\n\ndifferences\n===========\n\nWhen switching from node-bigint to node-bignum, please be aware of\nthese differences:\n\n- Bignum rounds towards zero for integer divisions, e.g. `10 / -3 = -3`, whereas bigint\n  rounds towards negative infinity, e.g. `10 / -3 = -4`.\n- Bitwise operations (and, or, xor) are implemented for positive numbers only.\n- nextPrime() is not supported.\n- sqrt() and root() are not supported.\n\n(Patches for the missing functionality are welcome.)\n\nexample\n=======\n\nsimple.js\n---------\n\n    var bignum = require(\'bignum\');\n\n    var b = bignum(\'782910138827292261791972728324982\')\n        .sub(\'182373273283402171237474774728373\')\n        .div(8)\n    ;\n    console.log(b);\n\n***\n    $ node simple.js\n    <Bignum 75067108192986261319312244199576>\n\nperfect.js\n----------\n\nGenerate the perfect numbers:\n\n    // If 2**n-1 is prime, then (2**n-1) * 2**(n-1) is perfect.\n    var bignum = require(\'bignum\');\n\n    for (var n = 0; n < 100; n++) {\n        var p = bignum.pow(2, n).sub(1);\n        if (p.probPrime(50)) {\n            var perfect = p.mul(bignum.pow(2, n - 1));\n            console.log(perfect.toString());\n        }\n    }\n\n***\n\n    6\n    28\n    496\n    8128\n    33550336\n    8589869056\n    137438691328\n    2305843008139952128\n    2658455991569831744654692615953842176\n    191561942608236107294793378084303638130997321548169216\n\nmethods[0]\n==========\n\nbignum(n, base=10)\n------------------\n\nCreate a new `bignum` from `n` and a base. `n` can be a string, integer, or\nanother `bignum`.\n\nIf you pass in a string you can set the base that string is encoded in.\n\n.toString(base=10)\n------------------\n\nPrint out the `bignum` instance in the requested base as a string.\n\nbignum.fromBuffer(buf, opts)\n----------------------------\n\nCreate a new `bignum` from a `Buffer`.\n\nThe default options are:\n\n    {\n        endian : \'big\',\n        size : 1, // number of bytes in each word\n    }\n\nNote that endian doesn\'t matter when size = 1. If you wish to reverse the entire buffer byte by byte, pass size: \'auto\'.\n\nbignum.prime(bits, safe=true)\n-----------------------------\n\nGenerate a probable prime of length `bits`. If `safe` is true, it will be a "safe" prime of the form p=2p\'+1 where p\' is also prime.\n\nmethods[1]\n==========\n\nFor all of the instance methods below you can write either\n\n    bignum.method(x, y, z)\n\nor if x is a `bignum` instance``\n\n    x.method(y, z)\n\n.toNumber()\n-----------\n\nTurn a `bignum` into a `Number`. If the `bignum` is too big you\'ll lose\nprecision or you\'ll get ±`Infinity`.\n\n.toBuffer(opts)\n-------------\n\nReturn a new `Buffer` with the data from the `bignum`.\n\nThe default options are:\n\n    {\n        endian : \'big\',\n        size : 1, // number of bytes in each word\n    }\n\nNote that endian doesn\'t matter when size = 1. If you wish to reverse the entire buffer byte by byte, pass size: \'auto\'.\n\n.add(n)\n-------\n\nReturn a new `bignum` containing the instance value plus `n`.\n\n.sub(n)\n-------\n\nReturn a new `bignum` containing the instance value minus `n`.\n\n.mul(n)\n-------\n\nReturn a new `bignum` containing the instance value multiplied by `n`.\n\n.div(n)\n-------\n\nReturn a new `bignum` containing the instance value integrally divided by `n`.\n\n.abs()\n------\n\nReturn a new `bignum` with the absolute value of the instance.\n\n.neg()\n------\n\nReturn a new `bignum` with the negative of the instance value.\n\n.cmp(n)\n-------\n\nCompare the instance value to `n`. Return a positive integer if `> n`, a\nnegative integer if `< n`, and 0 if `== n`.\n\n.gt(n)\n------\n\nReturn a boolean: whether the instance value is greater than n (`> n`).\n\n.ge(n)\n------\n\nReturn a boolean: whether the instance value is greater than or equal to n\n(`>= n`).\n\n.eq(n)\n------\n\nReturn a boolean: whether the instance value is equal to n (`== n`).\n\n.lt(n)\n------\n\nReturn a boolean: whether the instance value is less than n (`< n`).\n\n.le(n)\n------\n\nReturn a boolean: whether the instance value is less than or equal to n\n(`<= n`).\n\n.and(n)\n-------\n\nReturn a new `bignum` with the instance value bitwise AND (&)-ed with `n`.\n\n.or(n)\n------\n\nReturn a new `bignum` with the instance value bitwise inclusive-OR (|)-ed with\n`n`.\n\n.xor(n)\n-------\n\nReturn a new `bignum` with the instance value bitwise exclusive-OR (^)-ed with\n`n`.\n\n.mod(n)\n-------\n\nReturn a new `bignum` with the instance value modulo `n`.\n\n`m`.\n.pow(n)\n-------\n\nReturn a new `bignum` with the instance value raised to the `n`th power.\n\n.powm(n, m)\n-----------\n\nReturn a new `bignum` with the instance value raised to the `n`th power modulo\n`m`.\n\n.invertm(m)\n-----------\n\nCompute the multiplicative inverse modulo `m`.\n\n.rand()\n-------\n.rand(upperBound)\n-----------------\n\nIf `upperBound` is supplied, return a random `bignum` between the instance value\nand `upperBound - 1`, inclusive.\n\nOtherwise, return a random `bignum` between 0 and the instance value - 1,\ninclusive.\n\n.probPrime()\n------------\n\nReturn whether the bignum is:\n\n* certainly prime (true)\n* probably prime (\'maybe\')\n* certainly composite (false)\n\nusing [BN_is_prime_ex](http://www.openssl.org/docs/crypto/BN_generate_prime.html).\n\n.sqrt()\n-------\n\nReturn a new `bignum` that is the square root. This truncates.\n\n.root(n)\n-------\n\nReturn a new `bignum` that is the `nth` root. This truncates.\n\n.shiftLeft(n)\n-------------\n\nReturn a new `bignum` that is the `2^n` multiple. Equivalent of the `<<`\noperator.\n\n.shiftRight(n)\n--------------\n\nReturn a new `bignum` of the value integer divided by\n`2^n`. Equivalent of the `>>` operator.\n\n.gcd(n)\n-------\n\nReturn the greatest common divisor of the current `bignum` with `n` as a new\n`bignum`.\n\n.jacobi(n)\n-------\n\nReturn the Jacobi symbol (or Legendre symbol if `n` is prime) of the current\n`bignum` (= a) over `n`. Note that `n` must be odd and >= 3. 0 <= a < n.\n\nReturns -1 or 1 as an int (NOT a bignum). Throws an error on failure.\n\n.bitLength()\n------------\n\nReturn the number of bits used to represent the current `bignum`.\n\ninstall\n=======\n\nTo compile the package, your system needs to be set up for building Node.js\nmodules.\n\nYou can install node-bignum with [npm](http://npmjs.org):\n\n    npm install bignum\n\ndevelop\n=======\n\nYou can clone the git repo and compile with\n\n    git clone git://github.com/justmoon/node-bignum.git\n    cd node-bignum\n    npm install\n\nRun the tests with\n\n    npm test\n',
36 silly resolved     readmeFilename: 'README.markdown',
36 silly resolved     bugs: { url: 'https://github.com/justmoon/node-bignum/issues' },
36 silly resolved     homepage: 'https://github.com/justmoon/node-bignum',
36 silly resolved     _id: '[email protected]',
36 silly resolved     _shasum: '95355f01f0c096f3a17290565d5ca657d6440744',
36 silly resolved     _from: 'bignum@',
36 silly resolved     _resolved: 'https://registry.npmjs.org/bignum/-/bignum-0.7.0.tgz' } ]
37 info install [email protected] into C:\temp\test
38 info installOne [email protected]
39 info C:\temp\test\node_modules\bignum unbuild
40 verbose tar unpack C:\Users\Administrator\AppData\Roaming\npm-cache\bignum\0.7.0\package.tgz
41 silly lockFile 5eefa0e2--C-temp-test-node-modules-bignum tar://C:\temp\test\node_modules\bignum
42 verbose lock tar://C:\temp\test\node_modules\bignum C:\Users\Administrator\AppData\Roaming\npm-cache\5eefa0e2--C-temp-test-node-modules-bignum.lock
43 silly lockFile 6d5f7228-m-cache-bignum-0-7-0-package-tgz tar://C:\Users\Administrator\AppData\Roaming\npm-cache\bignum\0.7.0\package.tgz
44 verbose lock tar://C:\Users\Administrator\AppData\Roaming\npm-cache\bignum\0.7.0\package.tgz C:\Users\Administrator\AppData\Roaming\npm-cache\6d5f7228-m-cache-bignum-0-7-0-package-tgz.lock
45 silly gunzTarPerm modes [ '755', '644' ]
46 silly gunzTarPerm extractEntry package.json
47 silly gunzTarPerm extractEntry .npmignore
48 silly gunzTarPerm extractEntry index.js
49 silly gunzTarPerm extractEntry .dntrc
50 silly gunzTarPerm extractEntry .travis.yml
51 silly gunzTarPerm extractEntry README.markdown
52 silly gunzTarPerm extractEntry bignum.cc
53 silly gunzTarPerm extractEntry binding.gyp
54 silly gunzTarPerm extractEntry examples/gen.js
55 silly gunzTarPerm extractEntry examples/perfect.js
56 silly gunzTarPerm extractEntry examples/simple.js
57 silly gunzTarPerm extractEntry test/big.js
58 silly gunzTarPerm extractEntry test/buf.js
59 silly gunzTarPerm extractEntry test/seed.js
60 silly lockFile 5eefa0e2--C-temp-test-node-modules-bignum tar://C:\temp\test\node_modules\bignum
61 silly lockFile 5eefa0e2--C-temp-test-node-modules-bignum tar://C:\temp\test\node_modules\bignum
62 silly lockFile 6d5f7228-m-cache-bignum-0-7-0-package-tgz tar://C:\Users\Administrator\AppData\Roaming\npm-cache\bignum\0.7.0\package.tgz
63 silly lockFile 6d5f7228-m-cache-bignum-0-7-0-package-tgz tar://C:\Users\Administrator\AppData\Roaming\npm-cache\bignum\0.7.0\package.tgz
64 info preinstall [email protected]
65 verbose readDependencies using package.json deps
66 verbose readDependencies using package.json deps
67 verbose cache add [ 'nan@~1.0.0', null ]
68 verbose cache add name=undefined spec="nan@~1.0.0" args=["nan@~1.0.0",null]
69 verbose parsed url { protocol: null,
69 verbose parsed url   slashes: null,
69 verbose parsed url   auth: null,
69 verbose parsed url   host: null,
69 verbose parsed url   port: null,
69 verbose parsed url   hostname: null,
69 verbose parsed url   hash: null,
69 verbose parsed url   search: null,
69 verbose parsed url   query: null,
69 verbose parsed url   pathname: 'nan@~1.0.0',
69 verbose parsed url   path: 'nan@~1.0.0',
69 verbose parsed url   href: 'nan@~1.0.0' }
70 verbose cache add name="nan" spec="~1.0.0" args=["nan","~1.0.0"]
71 verbose parsed url { protocol: null,
71 verbose parsed url   slashes: null,
71 verbose parsed url   auth: null,
71 verbose parsed url   host: null,
71 verbose parsed url   port: null,
71 verbose parsed url   hostname: null,
71 verbose parsed url   hash: null,
71 verbose parsed url   search: null,
71 verbose parsed url   query: null,
71 verbose parsed url   pathname: '~1.0.0',
71 verbose parsed url   path: '~1.0.0',
71 verbose parsed url   href: '~1.0.0' }
72 verbose addNamed [ 'nan', '~1.0.0' ]
73 verbose addNamed [ null, '>=1.0.0-0 <1.1.0-0' ]
74 silly lockFile 66a60b03-nan-1-0-0 nan@~1.0.0
75 verbose lock nan@~1.0.0 C:\Users\Administrator\AppData\Roaming\npm-cache\66a60b03-nan-1-0-0.lock
76 silly addNameRange { name: 'nan', range: '>=1.0.0-0 <1.1.0-0', hasData: false }
77 verbose url raw nan
78 verbose url resolving [ 'https://registry.npmjs.org/', './nan' ]
79 verbose url resolved https://registry.npmjs.org/nan
80 info trying registry request attempt 1 at 15:05:59
81 verbose etag "ARDQ81ENXNX1F9W06GIOP93F9"
82 http GET https://registry.npmjs.org/nan
83 http 304 https://registry.npmjs.org/nan
84 silly registry.get cb [ 304,
84 silly registry.get   { date: 'Tue, 03 Jun 2014 22:05:52 GMT',
84 silly registry.get     server: 'Apache',
84 silly registry.get     via: '1.1 varnish',
84 silly registry.get     'last-modified': 'Tue, 03 Jun 2014 22:05:14 GMT',
84 silly registry.get     'cache-control': 'max-age=1',
84 silly registry.get     etag: '"ARDQ81ENXNX1F9W06GIOP93F9"',
84 silly registry.get     'x-served-by': 'cache-lax1424-LAX',
84 silly registry.get     'x-cache': 'HIT',
84 silly registry.get     'x-cache-hits': '5',
84 silly registry.get     'x-timer': 'S1401833152.199757,VS0,VE0',
84 silly registry.get     vary: 'Accept',
84 silly registry.get     'content-length': '0',
84 silly registry.get     'keep-alive': 'timeout=10, max=50',
84 silly registry.get     connection: 'Keep-Alive' } ]
85 verbose etag nan from cache
86 silly addNameRange number 2 { name: 'nan', range: '>=1.0.0-0 <1.1.0-0', hasData: true }
87 silly addNameRange versions [ 'nan',
87 silly addNameRange   [ '0.3.0-wip',
87 silly addNameRange     '0.3.0-wip2',
87 silly addNameRange     '0.3.0',
87 silly addNameRange     '0.3.1',
87 silly addNameRange     '0.3.2',
87 silly addNameRange     '0.4.0',
87 silly addNameRange     '0.4.1',
87 silly addNameRange     '0.4.2',
87 silly addNameRange     '0.4.3',
87 silly addNameRange     '0.4.4',
87 silly addNameRange     '0.5.0',
87 silly addNameRange     '0.5.1',
87 silly addNameRange     '0.5.2',
87 silly addNameRange     '0.6.0',
87 silly addNameRange     '0.7.0',
87 silly addNameRange     '0.7.1',
87 silly addNameRange     '0.8.0',
87 silly addNameRange     '1.0.0',
87 silly addNameRange     '1.1.0',
87 silly addNameRange     '1.1.1',
87 silly addNameRange     '1.1.2' ] ]
88 verbose addNamed [ 'nan', '1.0.0' ]
89 verbose addNamed [ '1.0.0', '1.0.0' ]
90 silly lockFile cc7fa090-nan-1-0-0 [email protected]
91 verbose lock [email protected] C:\Users\Administrator\AppData\Roaming\npm-cache\cc7fa090-nan-1-0-0.lock
92 silly lockFile cc7fa090-nan-1-0-0 [email protected]
93 silly lockFile cc7fa090-nan-1-0-0 [email protected]
94 silly lockFile 66a60b03-nan-1-0-0 nan@~1.0.0
95 silly lockFile 66a60b03-nan-1-0-0 nan@~1.0.0
96 silly resolved [ { name: 'nan',
96 silly resolved     version: '1.0.0',
96 silly resolved     description: 'Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility',
96 silly resolved     main: 'include_dirs.js',
96 silly resolved     repository: { type: 'git', url: 'git://github.com/rvagg/nan.git' },
96 silly resolved     contributors: [ [Object], [Object], [Object], [Object], [Object], [Object] ],
96 silly resolved     license: 'MIT',
96 silly resolved     readme: 'Native Abstractions for Node.js\n===============================\n\n**A header file filled with macro and utility goodness for making add-on development for Node.js easier across versions 0.8, 0.10 and 0.11, and eventually 0.12.**\n\n***Current version: 1.0.0*** *(See [nan.h](https://github.com/rvagg/nan/blob/master/nan.h) for complete ChangeLog)*\n\n[![NPM](https://nodei.co/npm/nan.png?downloads=true)](https://nodei.co/npm/nan/) [![NPM](https://nodei.co/npm-dl/nan.png?months=6)](https://nodei.co/npm/nan/)\n\nThanks to the crazy changes in V8 (and some in Node core), keeping native addons compiling happily across versions, particularly 0.10 to 0.11/0.12, is a minor nightmare. The goal of this project is to store all logic necessary to develop native Node.js addons without having to inspect `NODE_MODULE_VERSION` and get yourself into a macro-tangle.\n\nThis project also contains some helper utilities that make addon development a bit more pleasant.\n\n * **[News & Updates](#news)**\n * **[Usage](#usage)**\n * **[Example](#example)**\n * **[API](#api)**\n\n<a name="news"></a>\n## News & Updates\n\n### May-2013: Major changes for V8 3.25 / Node 0.11.13\n\nNode 0.11.11 and 0.11.12 were both broken releases for native add-ons, you simply can\'t properly compile against either of them for different reasons. But we now have a 0.11.13 release that jumps a couple of versions of V8 ahead and includes some more, major (traumatic) API changes.\n\nBecause we are now nearing Node 0.12 and estimate that the version of V8 we are using in Node 0.11.13 will be close to the API we get for 0.12, we have taken the opportunity to not only *fix* NAN for 0.11.13 but make some major changes to improve the NAN API.\n\nWe have **removed support for Node 0.11 versions prior to 0.11.13**, (although our tests are still passing for 0.11.10). As usual, our tests are run against (and pass) the last 5 versions of Node 0.8 and Node 0.10. We also include Node 0.11.13 obviously.\n\nThe major change is something that [Benjamin Byholm](kkoopa) has put many hours in to. We now have a fantastic new `NanNew<T>(args)` interface for creating new `Local`s, this replaces `NanNewLocal()` and much more. If you look in [./nan.h](nan.h) you\'ll see a large number of overloaded versions of this method. In general you should be able to `NanNew<Type>(arguments)` for any type you want to make a `Local` from. This includes `Persistent` types, so we now have a `Local<T> NanNew(const Persistent<T> arg)` to replace `NanPersistentToLocal()`.\n\nWe also now have `NanUndefined()`, `NanNull()`, `NanTrue()` and `NanFalse()`. Mainly because of the new requirement for an `Isolate` argument for each of the native V8 versions of this.\n\nV8 has now introduced an `EscapableHandleScope` from which you `scope.Escape(Local<T> value)` to *return* a value from a one scope to another. This replaces the standard `HandleScope` and `scope.Close(Local<T> value)`, although `HandleScope` still exists for when you don\'t need to return a handle to the caller. For NAN we are exposing it as `NanEscapableScope()` and `NanEscapeScope()`, while `NanScope()` is still how you create a new scope that doesn\'t need to return handles. For older versions of Node/V8, it\'ll still map to the older `HandleScope` functionality.\n\n`NanFromV8String()` was deprecated and has now been removed. You should use `NanCString()` or `NanRawString()` instead.\n\nBecause `node::MakeCallback()` now takes an `Isolate`, and because it doesn\'t exist in older versions of Node, we\'ve introduced `NanMakeCallabck()`. You should *always* use this when calling a JavaScript function from C++.\n\nThere\'s lots more, check out the Changelog in nan.h or look through [#86](https://github.com/rvagg/nan/pull/86) for all the gory details.\n\n### Dec-2013: NanCString and NanRawString\n\nTwo new functions have been introduced to replace the functionality that\'s been provided by `NanFromV8String` until now. NanCString has sensible defaults so it\'s super easy to fetch a null-terminated c-style string out of a `v8::String`. `NanFromV8String` is still around and has defaults that allow you to pass a single handle to fetch a `char*` while `NanRawString` requires a little more attention to arguments.\n\n### Nov-2013: Node 0.11.9+ breaking V8 change\n\nThe version of V8 that\'s shipping with Node 0.11.9+ has changed the signature for new `Local`s to: `v8::Local<T>::New(isolate, value)`, i.e. introducing the `isolate` argument and therefore breaking all new `Local` declarations for previous versions. NAN 0.6+ now includes a `NanNewLocal<T>(value)` that can be used in place to work around this incompatibility and maintain compatibility with 0.8->0.11.9+ (minus a few early 0.11 releases).\n\nFor example, if you wanted to return a `null` on a callback you will have to change the argument from `v8::Local<v8::Value>::New(v8::Null())` to `NanNewLocal<v8::Value>(v8::Null())`.\n\n### Nov-2013: Change to binding.gyp `"include_dirs"` for NAN\n\nInclusion of NAN in a project\'s binding.gyp is now greatly simplified. You can now just use `"<!(node -e \\"require(\'nan\')\\")"` in your `"include_dirs"`, see example below (note Windows needs the quoting around `require` to be just right: `"require(\'nan\')"` with appropriate `\\` escaping).\n\n<a name="usage"></a>\n## Usage\n\nSimply add **NAN** as a dependency in the *package.json* of your Node addon:\n\n``` bash\n$ npm install --save nan\n```\n\nPull in the path to **NAN** in your *binding.gyp* so that you can use `#include <nan.h>` in your *.cpp* files:\n\n``` python\n"include_dirs" : [\n    "<!(node -e \\"require(\'nan\')\\")"\n]\n```\n\nThis works like a `-I<path-to-NAN>` when compiling your addon.\n\n<a name="example"></a>\n## Example\n\nSee **[LevelDOWN](https://github.com/rvagg/node-leveldown/pull/48)** for a full example of **NAN** in use.\n\nFor a simpler example, see the **[async pi estimation example](https://github.com/rvagg/nan/tree/master/examples/async_pi_estimate)** in the examples directory for full code and an explanation of what this Monte Carlo Pi estimation example does. Below are just some parts of the full example that illustrate the use of **NAN**.\n\nCompare to the current 0.10 version of this example, found in the [node-addon-examples](https://github.com/rvagg/node-addon-examples/tree/master/9_async_work) repository and also a 0.11 version of the same found [here](https://github.com/kkoopa/node-addon-examples/tree/5c01f58fc993377a567812597e54a83af69686d7/9_async_work).\n\nNote that there is no embedded version sniffing going on here and also the async work is made much simpler, see below for details on the `NanAsyncWorker` class.\n\n```c++\n// addon.cc\n#include <node.h>\n#include <nan.h>\n// ...\n\nusing v8::FunctionTemplate;\nusing v8::Handle;\nusing v8::Object;\n\nvoid InitAll(Handle<Object> exports) {\n  exports->Set(NanSymbol("calculateSync"),\n    NanNew<FunctionTemplate>(CalculateSync)->GetFunction());\n\n  exports->Set(NanSymbol("calculateAsync"),\n    NanNew<FunctionTemplate>(CalculateAsync)->GetFunction());\n}\n\nNODE_MODULE(addon, InitAll)\n```\n\n```c++\n// sync.h\n#include <node.h>\n#include <nan.h>\n\nNAN_METHOD(CalculateSync);\n```\n\n```c++\n// sync.cc\n#include <node.h>\n#include <nan.h>\n#include "./sync.h"\n// ...\n\nusing v8::Number;\n\n// Simple synchronous access to the `Estimate()` function\nNAN_METHOD(CalculateSync) {\n  NanScope();\n\n  // expect a number as the first argument\n  int points = args[0]->Uint32Value();\n  double est = Estimate(points);\n\n  NanReturnValue(NanNew<Number>(est));\n}\n```\n\n```c++\n// async.cc\n#include <node.h>\n#include <nan.h>\n#include "./async.h"\n\n// ...\n\nusing v8::Function;\nusing v8::Local;\nusing v8::Null;\nusing v8::Number;\nusing v8::Value;\n\nclass PiWorker : public NanAsyncWorker {\n public:\n  PiWorker(NanCallback *callback, int points)\n    : NanAsyncWorker(callback), points(points) {}\n  ~PiWorker() {}\n\n  // Executed inside the worker-thread.\n  // It is not safe to access V8, or V8 data structures\n  // here, so everything we need for input and output\n  // should go on `this`.\n  void Execute () {\n    estimate = Estimate(points);\n  }\n\n  // Executed when the async work is complete\n  // this function will be run inside the main event loop\n  // so it is safe to use V8 again\n  void HandleOKCallback () {\n    NanScope();\n\n    Local<Value> argv[] = {\n        NanNew(NanNull())\n      , NanNew<Number>(estimate)\n    };\n\n    callback->Call(2, argv);\n  };\n\n private:\n  int points;\n  double estimate;\n};\n\n// Asynchronous access to the `Estimate()` function\nNAN_METHOD(CalculateAsync) {\n  NanScope();\n\n  int points = args[0]->Uint32Value();\n  NanCallback *callback = new NanCallback(args[1].As<Function>());\n\n  NanAsyncQueueWorker(new PiWorker(callback, points));\n  NanReturnUndefined();\n}\n```\n\n<a name="api"></a>\n## API\n\n * <a href="#api_nan_method"><b><code>NAN_METHOD</code></b></a>\n * <a href="#api_nan_getter"><b><code>NAN_GETTER</code></b></a>\n * <a href="#api_nan_setter"><b><code>NAN_SETTER</code></b></a>\n * <a href="#api_nan_property_getter"><b><code>NAN_PROPERTY_GETTER</code></b></a>\n * <a href="#api_nan_property_setter"><b><code>NAN_PROPERTY_SETTER</code></b></a>\n * <a href="#api_nan_property_enumerator"><b><code>NAN_PROPERTY_ENUMERATOR</code></b></a>\n * <a href="#api_nan_property_deleter"><b><code>NAN_PROPERTY_DELETER</code></b></a>\n * <a href="#api_nan_property_query"><b><code>NAN_PROPERTY_QUERY</code></b></a>\n * <a href="#api_nan_index_getter"><b><code>NAN_INDEX_GETTER</code></b></a>\n * <a href="#api_nan_index_setter"><b><code>NAN_INDEX_SETTER</code></b></a>\n * <a href="#api_nan_index_enumerator"><b><code>NAN_INDEX_ENUMERATOR</code></b></a>\n * <a href="#api_nan_index_deleter"><b><code>NAN_INDEX_DELETER</code></b></a>\n * <a href="#api_nan_index_query"><b><code>NAN_INDEX_QUERY</code></b></a>\n * <a href="#api_nan_weak_callback"><b><code>NAN_WEAK_CALLBACK</code></b></a>\n * <a href="#api_nan_deprecated"><b><code>NAN_DEPRECATED</code></b></a>\n * <a href="#api_nan_inline"><b><code>NAN_INLINE</code></b></a>\n * <a href="#api_nan_new"><b><code>NanNew</code></b></a>\n * <a href="#api_nan_undefined"><b><code>NanUndefined</code></b></a>\n * <a href="#api_nan_null"><b><code>NanNull</code></b></a>\n * <a href="#api_nan_true"><b><code>NanTrue</code></b></a>\n * <a href="#api_nan_false"><b><code>NanFalse</code></b></a>\n * <a href="#api_nan_return_value"><b><code>NanReturnValue</code></b></a>\n * <a href="#api_nan_return_undefined"><b><code>NanReturnUndefined</code></b></a>\n * <a href="#api_nan_return_null"><b><code>NanReturnNull</code></b></a>\n * <a href="#api_nan_return_empty_string"><b><code>NanReturnEmptyString</code></b></a>\n * <a href="#api_nan_scope"><b><code>NanScope</code></b></a>\n * <a href="#api_nan_escapable_scope"><b><code>NanEscapableScope</code></b></a>\n * <a href="#api_nan_escape_scope"><b><code>NanEscapeScope</code></b></a>\n * <a href="#api_nan_locker"><b><code>NanLocker</code></b></a>\n * <a href="#api_nan_unlocker"><b><code>NanUnlocker</code></b></a>\n * <a href="#api_nan_get_internal_field_pointer"><b><code>NanGetInternalFieldPointer</code></b></a>\n * <a href="#api_nan_set_internal_field_pointer"><b><code>NanSetInternalFieldPointer</code></b></a>\n * <a href="#api_nan_object_wrap_handle"><b><code>NanObjectWrapHandle</code></b></a>\n * <a href="#api_nan_symbol"><b><code>NanSymbol</code></b></a>\n * <a href="#api_nan_get_pointer_safe"><b><code>NanGetPointerSafe</code></b></a>\n * <a href="#api_nan_set_pointer_safe"><b><code>NanSetPointerSafe</code></b></a>\n * <a href="#api_nan_raw_string"><b><code>NanRawString</code></b></a>\n * <a href="#api_nan_c_string"><b><code>NanCString</code></b></a>\n * <a href="#api_nan_boolean_option_value"><b><code>NanBooleanOptionValue</code></b></a>\n * <a href="#api_nan_uint32_option_value"><b><code>NanUInt32OptionValue</code></b></a>\n * <a href="#api_nan_error"><b><code>NanError</code></b>, <b><code>NanTypeError</code></b>, <b><code>NanRangeError</code></b></a>\n * <a href="#api_nan_throw_error"><b><code>NanThrowError</code></b>, <b><code>NanThrowTypeError</code></b>, <b><code>NanThrowRangeError</code></b>, <b><code>NanThrowError(Handle<Value>)</code></b>, <b><code>NanThrowError(Handle<Value>, int)</code></b></a>\n * <a href="#api_nan_new_buffer_handle"><b><code>NanNewBufferHandle(char *, size_t, FreeCallback, void *)</code></b>, <b><code>NanNewBufferHandle(char *, uint32_t)</code></b>, <b><code>NanNewBufferHandle(uint32_t)</code></b></a>\n * <a href="#api_nan_buffer_use"><b><code>NanBufferUse(char *, uint32_t)</code></b></a>\n * <a href="#api_nan_new_context_handle"><b><code>NanNewContextHandle</code></b></a>\n * <a href="#api_nan_get_current_context"><b><code>NanGetCurrentContext</code></b></a>\n * <a href="#api_nan_has_instance"><b><code>NanHasInstance</code></b></a>\n * <a href="#api_nan_dispose_persistent"><b><code>NanDisposePersistent</code></b></a>\n * <a href="#api_nan_assign_persistent"><b><code>NanAssignPersistent</code></b></a>\n * <a href="#api_nan_make_weak_persistent"><b><code>NanMakeWeakPersistent</code></b></a>\n * <a href="#api_nan_set_template"><b><code>NanSetTemplate</code></b></a>\n * <a href="#api_nan_make_callback"><b><code>NanMakeCallback</code></b></a>\n * <a href="#api_nan_compile_script"><b><code>NanCompileScript</code></b></a>\n * <a href="#api_nan_run_script"><b><code>NanRunScript</code></b></a>\n * <a href="#api_nan_adjust_external_memory"><b><code>NanAdjustExternalMemory</code></b></a>\n * <a href="#api_nan_add_gc_epilogue_callback"><b><code>NanAddGCEpilogueCallback</code></b></a>\n * <a href="#api_nan_add_gc_prologue_callback"><b><code>NanAddGCPrologueCallback</code></b></a>\n * <a href="#api_nan_remove_gc_epilogue_callback"><b><code>NanRemoveGCEpilogueCallback</code></b></a>\n * <a href="#api_nan_remove_gc_prologue_callback"><b><code>NanRemoveGCPrologueCallback</code></b></a>\n * <a href="#api_nan_get_heap_statistics"><b><code>NanGetHeapStatistics</code></b></a>\n * <a href="#api_nan_callback"><b><code>NanCallback</code></b></a>\n * <a href="#api_nan_async_worker"><b><code>NanAsyncWorker</code></b></a>\n * <a href="#api_nan_async_queue_worker"><b><code>NanAsyncQueueWorker</code></b></a>\n\n<a name="api_nan_method"></a>\n### NAN_METHOD(methodname)\n\nUse `NAN_METHOD` to define your V8 accessible methods:\n\n```c++\n// .h:\nclass Foo : public node::ObjectWrap {\n  ...\n\n  static NAN_METHOD(Bar);\n  static NAN_METHOD(Baz);\n}\n\n\n// .cc:\nNAN_METHOD(Foo::Bar) {\n  ...\n}\n\nNAN_METHOD(Foo::Baz) {\n  ...\n}\n```\n\nThe reason for this macro is because of the method signature change in 0.11:\n\n```c++\n// 0.10 and below:\nHandle<Value> name(const Arguments& args)\n\n// 0.11 and above\nvoid name(const FunctionCallbackInfo<Value>& args)\n```\n\nThe introduction of `FunctionCallbackInfo` brings additional complications:\n\n<a name="api_nan_getter"></a>\n### NAN_GETTER(methodname)\n\nUse `NAN_GETTER` to declare your V8 accessible getters. You get a `Local<String>` `property` and an appropriately typed `args` object that can act like the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_GETTER`.\n\n<a name="api_nan_setter"></a>\n### NAN_SETTER(methodname)\n\nUse `NAN_SETTER` to declare your V8 accessible setters. Same as `NAN_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name="api_nan_property_getter"></a>\n### NAN_PROPERTY_GETTER(cbname)\nUse `NAN_PROPERTY_GETTER` to declare your V8 accessible property getters. You get a `Local<String>` `property` and an appropriately typed `args` object that can act similar to the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_GETTER`.\n\n<a name="api_nan_property_setter"></a>\n### NAN_PROPERTY_SETTER(cbname)\nUse `NAN_PROPERTY_SETTER` to declare your V8 accessible property setters. Same as `NAN_PROPERTY_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name="api_nan_property_enumerator"></a>\n### NAN_PROPERTY_ENUMERATOR(cbname)\nUse `NAN_PROPERTY_ENUMERATOR` to declare your V8 accessible property enumerators. You get an appropriately typed `args` object like the `args` argument to a `NAN_PROPERTY_GETTER` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_ENUMERATOR`.\n\n<a name="api_nan_property_deleter"></a>\n### NAN_PROPERTY_DELETER(cbname)\nUse `NAN_PROPERTY_DELETER` to declare your V8 accessible property deleters. Same as `NAN_PROPERTY_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_DELETER`.\n\n<a name="api_nan_property_query"></a>\n### NAN_PROPERTY_QUERY(cbname)\nUse `NAN_PROPERTY_QUERY` to declare your V8 accessible property queries. Same as `NAN_PROPERTY_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_PROPERTY_QUERY`.\n\n<a name="api_nan_index_getter"></a>\n### NAN_INDEX_GETTER(cbname)\nUse `NAN_INDEX_GETTER` to declare your V8 accessible index getters. You get a `uint32_t` `index` and an appropriately typed `args` object that can act similar to the `args` argument to a `NAN_METHOD` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_GETTER`.\n\n<a name="api_nan_index_setter"></a>\n### NAN_INDEX_SETTER(cbname)\nUse `NAN_INDEX_SETTER` to declare your V8 accessible index setters. Same as `NAN_INDEX_GETTER` but you also get a `Local<Value>` `value` object to work with.\n\n<a name="api_nan_index_enumerator"></a>\n### NAN_INDEX_ENUMERATOR(cbname)\nUse `NAN_INDEX_ENUMERATOR` to declare your V8 accessible index enumerators. You get an appropriately typed `args` object like the `args` argument to a `NAN_INDEX_GETTER` call.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_ENUMERATOR`.\n\n<a name="api_nan_index_deleter"></a>\n### NAN_INDEX_DELETER(cbname)\nUse `NAN_INDEX_DELETER` to declare your V8 accessible index deleters. Same as `NAN_INDEX_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_DELETER`.\n\n<a name="api_nan_index_query"></a>\n### NAN_INDEX_QUERY(cbname)\nUse `NAN_INDEX_QUERY` to declare your V8 accessible index queries. Same as `NAN_INDEX_GETTER`.\n\nYou can use `NanReturnNull()`, `NanReturnEmptyString()`, `NanReturnUndefined()` and `NanReturnValue()` in a `NAN_INDEX_QUERY`.\n\n<a name="api_nan_weak_callback"></a>\n### NAN_WEAK_CALLBACK(cbname)\n\nUse `NAN_WEAK_CALLBACK` to define your V8 WeakReference callbacks. Do not use for declaration. There is an argument object `const _NanWeakCallbackData<T, P> &data` allowing access to the weak object and the supplied parameter through its `GetValue` and `GetParameter` methods.\n\n```c++\nNAN_WEAK_CALLBACK(weakCallback) {\n  int *parameter = data.GetParameter();\n  NanMakeCallback(NanGetCurrentContext()->Global(), data.GetValue(), 0, NULL);\n  if ((*parameter)++ == 0) {\n    data.Revive();\n  } else {\n    delete parameter;\n    data.Dispose();\n  }\n}\n```\n\n<a name="api_nan_deprecated"></a>\n### NAN_DEPRECATED\nDeclares a function as deprecated.\n\n```c++\nstatic NAN_DEPRECATED NAN_METHOD(foo) {\n  ...\n}\n```\n\n<a name="api_nan_inline"></a>\n### NAN_INLINE\nInlines a function.\n\n```c++\nNAN_INLINE int foo(int bar) {\n  ...\n}\n```\n\n<a name="api_nan_new"></a>\n### Local&lt;T&gt; NanNew&lt;T&gt;( ... )\n\nUse `NanNew` to construct almost all v8 objects and make new local handles.\n\n```c++\nLocal<String> s = NanNew<String>("value");\n\n...\n\nPersistent<Object> o;\n\n...\n\nLocal<Object> lo = NanNew(o);\n\n```\n\n<a name="api_nan_undefined"></a>\n### Handle&lt;Primitive&gt; NanUndefined()\n\nUse instead of `Undefined()`\n\n<a name="api_nan_null"></a>\n### Handle&lt;Primitive&gt; NanNull()\n\nUse instead of `Null()`\n\n<a name="api_nan_true"></a>\n### Handle&lt;Primitive&gt; NanTrue()\n\nUse instead of `True()`\n\n<a name="api_nan_false"></a>\n### Handle&lt;Primitive&gt; NanFalse()\n\nUse instead of `False()`\n\n<a name="api_nan_return_value"></a>\n### NanReturnValue(Handle&lt;Value&gt;)\n\nUse `NanReturnValue` when you want to return a value from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  ...\n\n  NanReturnValue(NanNew<String>("FooBar!"));\n}\n```\n\nNo `return` statement required.\n\n<a name="api_nan_return_undefined"></a>\n### NanReturnUndefined()\n\nUse `NanReturnUndefined` when you don\'t want to return anything from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnUndefined();\n}\n```\n\n<a name="api_nan_return_null"></a>\n### NanReturnNull()\n\nUse `NanReturnNull` when you want to return `Null` from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnNull();\n}\n```\n\n<a name="api_nan_return_empty_string"></a>\n### NanReturnEmptyString()\n\nUse `NanReturnEmptyString` when you want to return an empty `String` from your V8 accessible method:\n\n```c++\nNAN_METHOD(Foo::Baz) {\n  ...\n\n  NanReturnEmptyString();\n}\n```\n\n<a name="api_nan_scope"></a>\n### NanScope()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanScope()` necessary, use it in place of `HandleScope scope`:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanScope();\n\n  NanReturnValue(NanNew<String>("FooBar!"));\n}\n```\n\n<a name="api_nan_escapable_scope"></a>\n### NanEscapableScope()\n\nThe separation of handle scopes into escapable and inescapable scopes makes `NanEscapableScope()` necessary, use it in place of `HandleScope scope` when you later wish to `Close()` the scope:\n\n```c++\nHandle<String> Foo::Bar() {\n  NanEscapableScope();\n\n  return NanEscapeScope(NanNew<String>("FooBar!"));\n}\n```\n\n<a name="api_nan_esacpe_scope"></a>\n### Local&lt;T&gt; NanEscapeScope(Handle&lt;T&gt; value);\nUse together with `NanEscapableScope` to escape the scope. Corresponds to `HandleScope::Close` or `EscapableHandleScope::Escape`.\n\n<a name="api_nan_locker"></a>\n### NanLocker()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanLocker()` necessary, use it in place of `Locker locker`:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanLocker();\n  ...\n  NanUnlocker();\n}\n```\n\n<a name="api_nan_unlocker"></a>\n### NanUnlocker()\n\nThe introduction of `isolate` references for many V8 calls in Node 0.11 makes `NanUnlocker()` necessary, use it in place of `Unlocker unlocker`:\n\n```c++\nNAN_METHOD(Foo::Bar) {\n  NanLocker();\n  ...\n  NanUnlocker();\n}\n```\n\n<a name="api_nan_get_internal_field_pointer"></a>\n### void * NanGetInternalFieldPointer(Handle&lt;Object&gt;, int)\n\nGets a pointer to the internal field with at `index` from a V8 `Object` handle.\n\n```c++\nLocal<Object> obj;\n...\nNanGetInternalFieldPointer(obj, 0);\n```\n<a name="api_nan_set_internal_field_pointer"></a>\n### void NanSetInternalFieldPointer(Handle&lt;Object&gt;, int, void *)\n\nSets the value of the internal field at `index` on a V8 `Object` handle.\n\n```c++\nstatic Persistent<Function> dataWrapperCtor;\n...\nLocal<Object> wrapper = NanPersistentToLocal(dataWrapperCtor)->NewInstance();\nNanSetInternalFieldPointer(wrapper, 0, this);\n```\n\n<a name="api_nan_object_wrap_handle"></a>\n### Local&lt;Object&gt; NanObjectWrapHandle(Object)\n\nWhen you want to fetch the V8 object handle from a native object you\'ve wrapped with Node\'s `ObjectWrap`, you should use `NanObjectWrapHandle`:\n\n```c++\nNanObjectWrapHandle(iterator)->Get(NanSymbol("end"))\n```\n\n<a name="api_nan_symbol"></a>\n### String NanSymbol(char *)\n\nUse to create string symbol objects (i.e. `v8::String::NewSymbol(x)`), for getting and setting object properties, or names of objects.\n\n```c++\nbool foo = false;\nif (obj->Has(NanSymbol("foo")))\n  foo = optionsObj->Get(NanSymbol("foo"))->BooleanValue()\n```\n\n<a name="api_nan_get_pointer_safe"></a>\n### Type NanGetPointerSafe(Type *[, Type])\n\nA helper for getting values from optional pointers. If the pointer is `NULL`, the function returns the optional default value, which defaults to `0`.  Otherwise, the function returns the value the pointer points to.\n\n```c++\nchar *plugh(uint32_t *optional) {\n  char res[] = "xyzzy";\n  uint32_t param = NanGetPointerSafe<uint32_t>(optional, 0x1337);\n  switch (param) {\n    ...\n  }\n  NanSetPointerSafe<uint32_t>(optional, 0xDEADBEEF);\n}  \n```\n\n<a name="api_nan_set_pointer_safe"></a>\n### bool NanSetPointerSafe(Type *, Type)\n\nA helper for setting optional argument pointers. If the pointer is `NULL`, the function simply returns `false`.  Otherwise, the value is assigned to the variable the pointer points to.\n\n```c++\nconst char *plugh(size_t *outputsize) {\n  char res[] = "xyzzy";\n  if !(NanSetPointerSafe<size_t>(outputsize, strlen(res) + 1)) {\n    ...\n  }\n\n  ...\n}\n```\n\n<a name="api_nan_raw_string"></a>\n### void* NanRawString(Handle&lt;Value&gt;, enum Nan::Encoding, size_t *, void *, size_t, int)\n\nWhen you want to convert a V8 `String` to a `char*` buffer, use `NanRawString`. You have to supply an encoding as well as a pointer to a variable that will be assigned the number of bytes in the returned string. It is also possible to supply a buffer and its length to the function in order not to have a new buffer allocated. The final argument allows setting `String::WriteOptions`.\nJust remember that you\'ll end up with an object that you\'ll need to `delete[]` at some point unless you supply your own buffer:\n\n```c++\nsize_t count;\nvoid* decoded = NanRawString(args[1], Nan::BASE64, &count, NULL, 0, String::HINT_MANY_WRITES_EXPECTED);\nchar param_copy[count];\nmemcpy(param_copy, decoded, count);\ndelete[] decoded;\n```\n\n<a name="api_nan_c_string"></a>\n### char* NanCString(Handle&lt;Value&gt;, size_t *[, char *, size_t, int])\n\nWhen you want to convert a V8 `String` to a null-terminated C `char*` use `NanCString`. The resulting `char*` will be UTF-8-encoded, and you need to supply a pointer to a variable that will be assigned the number of bytes in the returned string. It is also possible to supply a buffer and its length to the function in order not to have a new buffer allocated. The final argument allows optionally setting `String::WriteOptions`, which default to `v8::String::NO_OPTIONS`.\nJust remember that you\'ll end up with an object that you\'ll need to `delete[]` at some point unless you supply your own buffer:\n\n```c++\nsize_t count;\nchar* name = NanCString(args[0], &count);\n```\n\n<a name="api_nan_boolean_option_value"></a>\n### bool NanBooleanOptionValue(Handle&lt;Value&gt;, Handle&lt;String&gt;[, bool])\n\nWhen you have an "options" object that you need to fetch properties from, boolean options can be fetched with this pair. They check first if the object exists (`IsEmpty`), then if the object has the given property (`Has`) then they get and convert/coerce the property to a `bool`.\n\nThe optional last parameter is the *default* value, which is `false` if left off:\n\n```c++\n// `foo` is false unless the user supplies a truthy value for it\nbool foo = NanBooleanOptionValue(optionsObj, NanSymbol("foo"));\n// `bar` is true unless the user supplies a falsy value for it\nbool bar = NanBooleanOptionValueDefTrue(optionsObj, NanSymbol("bar"), true);\n```\n\n<a name="api_nan_uint32_option_value"></a>\n### uint32_t NanUInt32OptionValue(Handle&lt;Value&gt;, Handle&lt;String&gt;, uint32_t)\n\nSimilar to `NanBooleanOptionValue`, use `NanUInt32OptionValue` to fetch an integer option from your options object. Can be any kind of JavaScript `Number` and it will be coerced to an unsigned 32-bit integer.\n\nRequires all 3 arguments as a default is not optional:\n\n```c++\nuint32_t count = NanUInt32OptionValue(optionsObj, NanSymbol("count"), 1024);\n```\n\n<a name="api_nan_error"></a>\n### NanError(message), NanTypeError(message), NanRangeError(message)\n\nFor making `Error`, `TypeError` and `RangeError` objects.\n\n```c++\nLocal<Value> res = NanError("you must supply a callback argument");\n```\n\n<a name="api_nan_throw_error"></a>\n### NanThrowError(message), NanThrowTypeError(message), NanThrowRangeError(message), NanThrowError(Local&lt;Value&gt;), NanThrowError(Local&lt;Value&gt;, int)\n\nFor throwing `Error`, `TypeError` and `RangeError` objects. You should `return` this call:\n\n```c++\nreturn NanThrowError("you must supply a callback argument");\n```\n\nCan also handle any custom object you may want to throw. If used with the error code argument, it will add the supplied error code to the error object as a property called `code`.\n\n<a name="api_nan_new_buffer_handle"></a>\n### Local&lt;Object&gt; NanNewBufferHandle(char *, uint32_t), Local&lt;Object&gt; NanNewBufferHandle(uint32_t)\n\nThe `Buffer` API has changed a little in Node 0.11, this helper provides consistent access to `Buffer` creation:\n\n```c++\nNanNewBufferHandle((char*)value.data(), value.size());\n```\n\nCan also be used to initialize a `Buffer` with just a `size` argument.\n\nCan also be supplied with a `NanFreeCallback` and a hint for the garbage collector.\n\n<a name="api_nan_buffer_use"></a>\n### Local&lt;Object&gt; NanBufferUse(char*, uint32_t)\n\n`Buffer::New(char*, uint32_t)` prior to 0.11 would make a copy of the data.\nWhile it was possible to get around this, it required a shim by passing a\ncallback. So the new API `Buffer::Use(char*, uint32_t)` was introduced to remove\nneeding to use this shim.\n\n`NanBufferUse` uses the `char*` passed as the backing data, and will free the\nmemory automatically when the weak callback is called. Keep this in mind, as\ncareless use can lead to "double free or corruption" and other cryptic failures.\n\n<a name="api_nan_has_instance"></a>\n### bool NanHasInstance(Persistent&lt;FunctionTemplate&gt;&, Handle&lt;Value&gt;)\n\nCan be used to check the type of an object to determine it is of a particular class you have already defined and have a `Persistent<FunctionTemplate>` handle for.\n\n<a href="#api_nan_new_context_handle">\n### Local&lt;Context&gt; NanNewContextHandle([ExtensionConfiguration*, Handle&lt;ObjectTemplate&gt;, Handle&lt;Value&gt;])\nCreates a new `Local<Context>` handle.\n\n```c++\nLocal<FunctionTemplate> ftmpl = NanNew<FunctionTemplate>();\nLocal<ObjectTemplate> otmpl = ftmpl->InstanceTemplate();\nLocal<Context> ctx =  NanNewContextHandle(NULL, otmpl);\n```\n\n<a href="#api_nan_get_current_context">\n### Local<Context> NanGetCurrentContext()\n\nGets the current context.\n\n```c++\nLocal<Context> ctx = NanGetCurrentContext();\n```\n\n<a name="api_nan_dispose_persistent"></a>\n### void NanDisposePersistent(Persistent&lt;T&gt; &)\n\nUse `NanDisposePersistent` to dispose a `Persistent` handle.\n\n```c++\nNanDisposePersistent(persistentHandle);\n```\n\n<a name="api_nan_assign_persistent"></a>\n### NanAssignPersistent(type, handle, object)\n\nUse `NanAssignPersistent` to assign a non-`Persistent` handle to a `Persistent` one. You can no longer just declare a `Persistent` handle and assign directly to it later, you have to `Reset` it in Node 0.11, so this makes it easier.\n\nIn general it is now better to place anything you want to protect from V8\'s garbage collector as properties of a generic `Object` and then assign that to a `Persistent`. This works in older versions of Node also if you use `NanAssignPersistent`:\n\n```c++\nPersistent<Object> persistentHandle;\n\n...\n\nLocal<Object> obj = NanNew<Object>();\nobj->Set(NanSymbol("key"), keyHandle); // where keyHandle might be a Local<String>\nNanAssignPersistent(Object, persistentHandle, obj)\n```\n\n<a name="api_nan_make_weak_persistent"></a>\n### NanMakeWeakPersistent(Handle&lt;T&gt; handle, P* parameter, _NanWeakCallbackInfo&lt;T, P&gt;::Callback callback)\n\nCreates a weak persistent handle with the supplied parameter and `NAN_WEAK_CALLBACK`. The callback has to be fully specialized to work on all versions of Node.\n\n```c++\nNAN_WEAK_CALLBACK(weakCallback) {\n\n...\n\n}\n\nLocal<Function> func;\n\n...\n\nint *parameter = new int(0);\nNanMakeWeakPersistent(func, parameter, &weakCallback<Function, int>);\n```\n\n<a name="api_nan_set_template"></a>\n### NanSetTemplate(templ, name, value)\n\nUse to add properties on object and function templates.\n\n<a name="api_nan_make_callback"></a>\n### NanMakeCallback(target, func, argc, argv)\n\nUse instead of `node::MakeCallback` to call javascript functions. This is the only proper way of calling functions.\n\n<a name="api_nan_compile_script"></a>\n### NanCompileScript(Handle<String> s [, const ScriptOrigin&amp; origin])\n\nUse to create new scripts bound to the current context.\n\n<a name="api_nan_run_script"></a>\n### NanRunScript(script)\n\nUse to run both bound and unbound scripts.\n\n<a name="api_nan_adjust_external_memory"></a>\n### NanAdjustExternalMemory(int change_in_bytes)\n\nSimply does `AdjustAmountOfExternalAllocatedMemory`\n\n<a name="api_nan_add_gc_epilogue_callback"></a>\n### NanAddGCEpilogueCallback(GCEpilogueCallback callback, GCType gc_type_filter=kGCTypeAll)\n\nSimply does `AddGCEpilogueCallback`\n\n<a name="api_nan_add_gc_prologue_callback"></a>\n### NanAddGCPrologueCallback(GCPrologueCallback callback, GCType gc_type_filter=kGCTypeAll)\n\nSimply does `AddGCPrologueCallback`\n\n<a name="api_nan_remove_gc_epilogue_callback"></a>\n### NanRemoveGCEpilogueCallback(GCEpilogueCallback callback)\n\nSimply does `RemoveGCEpilogueCallback`\n\n<a name="api_nan_add_gc_prologue_callback"></a>\n### NanRemoveGCPrologueCallback(GCPrologueCallback callback)\n\nSimply does `RemoveGCPrologueCallback`\n\n<a name="api_nan_get_heap_statistics"></a>\n### NanGetHeapStatistics(HeapStatistics *heap_statistics)\n\nSimply does `GetHeapStatistics`\n\n<a name="api_nan_callback"></a>\n### NanCallback\n\nBecause of the difficulties imposed by the changes to `Persistent` handles in V8 in Node 0.11, creating `Persistent` versions of your `Handle<Function>` is annoyingly tricky. `NanCallback` makes it easier by taking your handle, making it persistent until the `NanCallback` is deleted and even providing a handy `Call()` method to fetch and execute the callback `Function`.\n\n```c++\nLocal<Function> callbackHandle = args[0].As<Function>();\nNanCallback *callback = new NanCallback(callbackHandle);\n// pass `callback` around and it\'s safe from GC until you:\ndelete callback;\n```\n\nYou can execute the callback like so:\n\n```c++\n// no arguments:\ncallback->Call(0, NULL);\n\n// an error argument:\nHandle<Value> argv[] = {\n  NanError(NanNew<String>("fail!"))\n};\ncallback->Call(1, argv);\n\n// a success argument:\nHandle<Value> argv[] = {\n  NanNull(),\n  NanNew<String>("w00t!")\n};\ncallback->Call(2, argv);\n```\n\n`NanCallback` also has a `Local<Function> GetCallback()` method that you can use\nto fetch a local handle to the underlying callback function, as well  as a\n`void SetFunction(Handle<Function>)` for setting the callback on the\n`NanCallback`.  Additionally a generic constructor is available for using\n`NanCallback` without performing heap allocations.\n\n<a name="api_nan_async_worker"></a>\n### NanAsyncWorker\n\n`NanAsyncWorker` is an abstract class that you can subclass to have much of the annoying async queuing and handling taken care of for you. It can even store arbitrary V8 objects for you and have them persist while the async work is in progress.\n\nSee a rough outline of the implementation:\n\n```c++\nclass NanAsyncWorker {\npublic:\n  NanAsyncWorker (NanCallback *callback);\n\n  // Clean up persistent handles and delete the *callback\n  virtual ~NanAsyncWorker ();\n\n  // Check the `char *errmsg` property and call HandleOKCallback()\n  // or HandleErrorCallback depending on whether it has been set or not\n  virtual void WorkComplete ();\n\n  // You must implement this to do some async work. If there is an\n  // error then allocate `errmsg` to a message and the callback will\n  // be passed that string in an Error object\n  virtual void Execute ();\n\n  // Save a V8 object in a Persistent handle to protect it from GC\n  void SavePersistent(const char *key, Local<Object> &obj);\n\n  // Fetch a stored V8 object (don\'t call from within `Execute()`)\n  Local<Object> GetFromPersistent(const char *key);\n\nprotected:\n  // Set this if there is an error, otherwise it\'s NULL\n  const char *errmsg;\n\n  // Default implementation calls the callback function with no arguments.\n  // Override this to return meaningful data\n  virtual void HandleOKCallback ();\n\n  // Default implementation calls the callback function with an Error object\n  // wrapping the `errmsg` string\n  virtual void HandleErrorCallback ();\n};\n```\n\n<a name="api_nan_async_queue_worker"></a>\n### NanAsyncQueueWorker(NanAsyncWorker *)\n\n`NanAsyncQueueWorker` will run a `NanAsyncWorker` asynchronously via libuv. Both the *execute* and *after_work* steps are taken care of for you&mdash;most of the logic for this is embedded in `NanAsyncWorker`.\n\n### Contributors\n\nNAN is only possible due to the excellent work of the following contributors:\n\n<table><tbody>\n<tr><th align="left">Rod Vagg</th><td><a href="https://github.com/rvagg">GitHub/rvagg</a></td><td><a href="http://twitter.com/rvagg">Twitter/@rvagg</a></td></tr>\n<tr><th align="left">Benjamin Byholm</th><td><a href="https://github.com/kkoopa/">GitHub/kkoopa</a></td></tr>\n<tr><th align="left">Trevor Norris</th><td><a href="https://github.com/trevnorris">GitHub/trevnorris</a></td><td><a href="http://twitter.com/trevnorris">Twitter/@trevnorris</a></td></tr>\n<tr><th align="left">Nathan Rajlich</th><td><a href="https://github.com/TooTallNate">GitHub/TooTallNate</a></td><td><a href="http://twitter.com/TooTallNate">Twitter/@TooTallNate</a></td></tr>\n<tr><th align="left">Brett Lawson</th><td><a href="https://github.com/brett19">GitHub/brett19</a></td><td><a href="http://twitter.com/brett19x">Twitter/@brett19x</a></td></tr>\n<tr><th align="left">Ben Noordhuis</th><td><a href="https://github.com/bnoordhuis">GitHub/bnoordhuis</a></td><td><a href="http://twitter.com/bnoordhuis">Twitter/@bnoordhuis</a></td></tr>\n</tbody></table>\n\nLicence &amp; copyright\n-----------------------\n\nCopyright (c) 2014 NAN contributors (listed above).\n\nNative Abstractions for Node.js is licensed under an MIT +no-false-attribs license. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE file for more details.\n',
96 silly resolved     readmeFilename: 'README.md',
96 silly resolved     bugs: { url: 'https://github.com/rvagg/nan/issues' },
96 silly resolved     homepage: 'https://github.com/rvagg/nan',
96 silly resolved     _id: '[email protected]',
96 silly resolved     _from: 'nan@~1.0.0',
96 silly resolved     scripts: {} } ]
97 info install [email protected] into C:\temp\test\node_modules\bignum
98 info installOne [email protected]
99 info C:\temp\test\node_modules\bignum\node_modules\nan unbuild
100 verbose tar unpack C:\Users\Administrator\AppData\Roaming\npm-cache\nan\1.0.0\package.tgz
101 silly lockFile 7e74fbac--modules-bignum-node-modules-nan tar://C:\temp\test\node_modules\bignum\node_modules\nan
102 verbose lock tar://C:\temp\test\node_modules\bignum\node_modules\nan C:\Users\Administrator\AppData\Roaming\npm-cache\7e74fbac--modules-bignum-node-modules-nan.lock
103 silly lockFile dd35ef2a--npm-cache-nan-1-0-0-package-tgz tar://C:\Users\Administrator\AppData\Roaming\npm-cache\nan\1.0.0\package.tgz
104 verbose lock tar://C:\Users\Administrator\AppData\Roaming\npm-cache\nan\1.0.0\package.tgz C:\Users\Administrator\AppData\Roaming\npm-cache\dd35ef2a--npm-cache-nan-1-0-0-package-tgz.lock
105 silly gunzTarPerm modes [ '755', '644' ]
106 silly gunzTarPerm extractEntry package.json
107 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ]
108 silly gunzTarPerm extractEntry README.md
109 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ]
110 silly gunzTarPerm extractEntry LICENSE
111 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ]
112 silly gunzTarPerm extractEntry include_dirs.js
113 silly gunzTarPerm modified mode [ 'include_dirs.js', 438, 420 ]
114 silly gunzTarPerm extractEntry .dntrc
115 silly gunzTarPerm modified mode [ '.dntrc', 438, 420 ]
116 silly gunzTarPerm extractEntry build/config.gypi
117 silly gunzTarPerm modified mode [ 'build/config.gypi', 438, 420 ]
118 silly gunzTarPerm extractEntry nan.h
119 silly gunzTarPerm modified mode [ 'nan.h', 438, 420 ]
120 silly lockFile 7e74fbac--modules-bignum-node-modules-nan tar://C:\temp\test\node_modules\bignum\node_modules\nan
121 silly lockFile 7e74fbac--modules-bignum-node-modules-nan tar://C:\temp\test\node_modules\bignum\node_modules\nan
122 silly lockFile dd35ef2a--npm-cache-nan-1-0-0-package-tgz tar://C:\Users\Administrator\AppData\Roaming\npm-cache\nan\1.0.0\package.tgz
123 silly lockFile dd35ef2a--npm-cache-nan-1-0-0-package-tgz tar://C:\Users\Administrator\AppData\Roaming\npm-cache\nan\1.0.0\package.tgz
124 info preinstall [email protected]
125 verbose readDependencies using package.json deps
126 verbose readDependencies using package.json deps
127 silly resolved []
128 verbose about to build C:\temp\test\node_modules\bignum\node_modules\nan
129 info build C:\temp\test\node_modules\bignum\node_modules\nan
130 verbose linkStuff [ false,
130 verbose linkStuff   false,
130 verbose linkStuff   false,
130 verbose linkStuff   'C:\\temp\\test\\node_modules\\bignum\\node_modules' ]
131 info linkStuff [email protected]
132 verbose linkBins [email protected]
133 verbose linkMans [email protected]
134 verbose rebuildBundles [email protected]
135 info install [email protected]
136 info postinstall [email protected]
137 verbose about to build C:\temp\test\node_modules\bignum
138 info build C:\temp\test\node_modules\bignum
139 verbose linkStuff [ false, false, false, 'C:\\temp\\test\\node_modules' ]
140 info linkStuff [email protected]
141 verbose linkBins [email protected]
142 verbose linkMans [email protected]
143 verbose rebuildBundles [email protected]
144 verbose rebuildBundles [ 'nan' ]
145 info install [email protected]
146 verbose unsafe-perm in lifecycle true
147 info [email protected] Failed to exec install script
148 info C:\temp\test\node_modules\bignum unbuild
149 info preuninstall [email protected]
150 info uninstall [email protected]
151 verbose true,C:\temp\test\node_modules,C:\temp\test\node_modules unbuild [email protected]
152 info postuninstall [email protected]
153 error [email protected] install: `node-gyp configure build`
153 error Exit status 1
154 error Failed at the [email protected] install script.
154 error This is most likely a problem with the bignum package,
154 error not with npm itself.
154 error Tell the author that this fails on your system:
154 error     node-gyp configure build
154 error You can get their info via:
154 error     npm owner ls bignum
154 error There is likely additional logging output above.
155 error System Windows_NT 6.2.9200
156 error command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "bignum" "--msvs_version=2012"
157 error cwd C:\temp\test
158 error node -v v0.10.28
159 error npm -v 1.4.9
160 error code ELIFECYCLE
161 verbose exit [ 1, true ]

The command line output:

C:\temp\test>npm install bignum --msvs_version=2012
npm http GET https://registry.npmjs.org/bignum
npm http 304 https://registry.npmjs.org/bignum
npm http GET https://registry.npmjs.org/nan
npm http 304 https://registry.npmjs.org/nan

> [email protected] install C:\temp\test\node_modules\bignum
> node-gyp configure build


C:\temp\test\node_modules\bignum>node "C:\Program Files (x86)\nodejs\node_module
s\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" configure b
uild
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
  bignum.cc
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\xlocale(336): wa
rning C4530: C++ exception handler used, but unwind semantics are not enabled.
Specify /EHsc [C:\temp\test\node_modules\bignum\build\bignum.vcxproj]
..\bignum.cc(9): fatal error C1083: Cannot open include file: 'openssl/bn.h': N
o such file or directory [C:\temp\test\node_modules\bignum\build\bignum.vcxproj
]
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files (x86)\nodejs\node_mo
dules\npm\node_modules\node-gyp\lib\build.js:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:807:
12)
gyp ERR! System Windows_NT 6.2.9200
gyp ERR! command "node" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\nod
e_modules\\node-gyp\\bin\\node-gyp.js" "configure" "build"
gyp ERR! cwd C:\temp\test\node_modules\bignum
gyp ERR! node -v v0.10.28
gyp ERR! node-gyp -v v0.13.0
gyp ERR! not ok
npm ERR! [email protected] install: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp configure build
npm ERR! You can get their info via:
npm ERR!     npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program File
s (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "bignum" "--msvs_
version=2012"
npm ERR! cwd C:\temp\test
npm ERR! node -v v0.10.28
npm ERR! npm -v 1.4.9
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\temp\test\npm-debug.log
npm ERR! not ok code 0

install fails on OSX with clang (xcode 4) compiler

with the latest xcode compiler on mac, the installation fails with:

  c++ '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_DARWIN_USE_64_BIT_INODE=1' -I/Users/vincent/.node-gyp/0.8.4/src -I/Users/vincent/.node-gyp/0.8.4/deps/uv/include -I/Users/vincent/.node-gyp/0.8.4/deps/v8/include  -Os -gdwarf-2 -Wnewline-eof -mmacosx-version-min=10.5 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF ./Release/.deps/Release/obj.target/bignum/bignum.o.d.raw  -c -o Release/obj.target/bignum/bignum.o ../bignum.cc
../bignum.cc:270:26: error: variable length array of non-POD element type 'Handle<v8::Value>'
    Handle<Value> newArgs[len];

I was able to get around this by overriding the default compiler like this:

CXX=g++ npm install bigint

Can't build in Win7 With Visual Studio 2012

info it worked if it ends with ok
verbose cli [ 'c:\\Program Files (x86)\\nodejs\\node.exe',
verbose cli   'c:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
verbose cli   'install',
verbose cli   'bignum' ]
info using [email protected]
info using [email protected]
verbose config file C:\Users\User\.npmrc
verbose config file c:\Program Files (x86)\nodejs\etc\npmrc
verbose config file c:\Program Files (x86)\nodejs\node_modules\npm\npmrc
verbose caching c:\TrinityCoreData\wowProxy\node_modules\sprintf\package.json
verbose caching c:\TrinityCoreData\wowProxy\node_modules\express\package.json
verbose cache add [ 'bignum', null ]
silly cache add: name, spec, args [ undefined, 'bignum', [ 'bignum', null ] ]
verbose parsed url { pathname: 'bignum', path: 'bignum', href: 'bignum' }
verbose addNamed [ 'bignum', '' ]
verbose addNamed [ null, '' ]
silly name, range, hasData [ 'bignum', '', false ]
verbose raw, before any munging bignum
verbose url resolving [ 'https://registry.npmjs.org/', './bignum' ]
verbose url resolved https://registry.npmjs.org/bignum
http GET https://registry.npmjs.org/bignum
http 200 https://registry.npmjs.org/bignum
silly get cb [ 200,
silly get cb   { vary: 'Accept',
silly get cb     server: 'CouchDB/1.2.0 (Erlang OTP/R15B)',
silly get cb     etag: '"C4IP6CJA56UC317BJO1RQSZ01"',
silly get cb     date: 'Mon, 19 Nov 2012 17:34:50 GMT',
silly get cb     'content-type': 'application/json',
silly get cb     'content-length': '17438' } ]
silly name, range, hasData 2 [ 'bignum', '', true ]
silly versions [ 'bignum', [ '0.4.0', '0.4.1', '0.5.0', '0.5.1' ] ]
verbose bin dist [ '0.6-ares1.7.5-DEV-evundefined-openssl0.9.8r-v83.6.6.24-win32-ia32-6.1.7601',
verbose bin dist   { shasum: '19f5bcc77249366cfdad1d023ac57673b0a2c966',
verbose bin dist     tarball: 'http://registry.npmjs.org/bignum/-/bignum-0.5.1.tgz' } ]
verbose addRemoteTarball [ 'https://registry.npmjs.org/bignum/-/bignum-0.5.1.tgz',
verbose addRemoteTarball   '19f5bcc77249366cfdad1d023ac57673b0a2c966' ]
verbose fetch to C:\Users\User\AppData\Local\Temp\npm-1353346520295\1353346520295-0.6008252571336925\tmp.tgz
http GET https://registry.npmjs.org/bignum/-/bignum-0.5.1.tgz
http 200 https://registry.npmjs.org/bignum/-/bignum-0.5.1.tgz
silly updated sha bytes 14092
info shasum 19f5bcc77249366cfdad1d023ac57673b0a2c966
info shasum C:\Users\User\AppData\Local\Temp\npm-1353346520295\1353346520295-0.6008252571336925\tmp.tgz
verbose unpack C:\Users\User\AppData\Local\Temp\npm-1353346520295\1353346520295-0.6008252571336925\tmp.tgz
silly gunzTarPerm modes [ '755', '644' ]
silly extracting entry package.json
silly extracting entry .npmignore
silly extracting entry index.js
silly extracting entry test/seed.js
silly extracting entry test/buf.js
silly extracting entry test/big.js
silly extracting entry binding.gyp
silly extracting entry bignum.cc
silly extracting entry examples/perfect.js
silly extracting entry examples/simple.js
silly extracting entry examples/gen.js
silly extracting entry README.markdown
verbose has bindings.gyp [ undefined,
verbose has bindings.gyp   { file: 'C:\\Users\\User\\AppData\\Local\\Temp\\npm-1353346520295\\1353346520295-0.6008252571336925\\package\\package.json',
verbose has bindings.gyp     gypfile: true,
verbose has bindings.gyp     wscript: false,
verbose has bindings.gyp     contributors: false,
verbose has bindings.gyp     serverjs: false } ]
verbose caching C:\Users\User\AppData\Local\Temp\npm-1353346520295\1353346520295-0.6008252571336925\package\package.json
verbose loadDefaults [email protected]
verbose from cache C:\Users\User\AppData\Local\Temp\npm-1353346520295\1353346520295-0.6008252571336925\package\package.json
verbose tar.pack [ 'C:\\Users\\User\\AppData\\Roaming\\npm-cache\\bignum\\0.5.1\\package.tgz',
verbose tar.pack   'C:\\Users\\User\\AppData\\Local\\Temp\\npm-1353346520295\\1353346520295-0.6008252571336925\\package' ]
verbose tarball C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package.tgz
verbose folder C:\Users\User\AppData\Local\Temp\npm-1353346520295\1353346520295-0.6008252571336925\package
verbose unpack C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package.tgz
silly gunzTarPerm modes [ '755', '644' ]
silly extracting entry package.json
silly modified mode [ 'package.json', 438, 420 ]
silly extracting entry .npmignore
silly modified mode [ '.npmignore', 438, 420 ]
silly extracting entry index.js
silly modified mode [ 'index.js', 438, 420 ]
silly extracting entry bignum.cc
silly modified mode [ 'bignum.cc', 438, 420 ]
silly extracting entry binding.gyp
silly modified mode [ 'binding.gyp', 438, 420 ]
silly extracting entry examples/gen.js
silly modified mode [ 'examples/gen.js', 438, 420 ]
silly extracting entry examples/perfect.js
silly modified mode [ 'examples/perfect.js', 438, 420 ]
silly extracting entry examples/simple.js
silly modified mode [ 'examples/simple.js', 438, 420 ]
silly extracting entry README.markdown
silly modified mode [ 'README.markdown', 438, 420 ]
silly extracting entry test/big.js
silly modified mode [ 'test/big.js', 438, 420 ]
silly extracting entry test/buf.js
silly modified mode [ 'test/buf.js', 438, 420 ]
silly extracting entry test/seed.js
silly modified mode [ 'test/seed.js', 438, 420 ]
verbose has bindings.gyp [ undefined,
verbose has bindings.gyp   { file: 'C:\\Users\\User\\AppData\\Roaming\\npm-cache\\bignum\\0.5.1\\package\\package.json',
verbose has bindings.gyp     gypfile: true,
verbose has bindings.gyp     wscript: false,
verbose has bindings.gyp     contributors: false,
verbose has bindings.gyp     serverjs: false } ]
verbose caching C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package\package.json
verbose loadDefaults [email protected]
silly updated sha bytes 14023
info shasum 612d0cff65f27c3809294e79ffc0f901b04de648
info shasum C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package.tgz
verbose from cache C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package\package.json
verbose chmod C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package.tgz 644
silly skipping chown for windows C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package.tgz
silly resolved [ { name: 'bignum',
silly resolved     version: '0.5.1',
silly resolved     description: 'Arbitrary-precision integer arithmetic using OpenSSL',
silly resolved     main: './index.js',
silly resolved     repository: 
silly resolved      { type: 'git',
silly resolved        url: 'git://github.com/justmoon/node-bignum.git' },
silly resolved     keywords: 
silly resolved      [ 'gmp',
silly resolved        'libgmp',
silly resolved        'big',
silly resolved        'bignum',
silly resolved        'bigint',
silly resolved        'integer',
silly resolved        'arithmetic',
silly resolved        'precision' ],
silly resolved     author: 
silly resolved      { name: 'Stefan Thomas',
silly resolved        email: '[email protected]',
silly resolved        url: 'http://www.justmoon.net' },
silly resolved     devDependencies: { expresso: '>=0.6.0', binary: '>=0.1.7', put: '>=0.0.5' },
silly resolved     license: 'MIT/X11',
silly resolved     engine: { node: '>=0.8.0' },
silly resolved     scripts: { install: 'node-gyp configure build', test: 'expresso' },
silly resolved     contributors: [ { name: 'James Halliday', email: '[email protected]' } ],
silly resolved     _id: '[email protected]',
silly resolved     dependencies: {},
silly resolved     optionalDependencies: {},
silly resolved     engines: { node: '*' },
silly resolved     _engineSupported: true,
silly resolved     _npmVersion: '1.1.16',
silly resolved     _nodeVersion: 'v0.6.15',
silly resolved     _defaultsLoaded: true,
silly resolved     dist: { shasum: '612d0cff65f27c3809294e79ffc0f901b04de648' },
silly resolved     _from: 'bignum' } ]
info into c:\TrinityCoreData\wowProxy [email protected]
info installOne [email protected]
verbose from cache C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package\package.json
info unbuild c:\TrinityCoreData\wowProxy\node_modules\bignum
verbose unpack C:\Users\User\AppData\Roaming\npm-cache\bignum\0.5.1\package.tgz
silly gunzTarPerm modes [ '755', '644' ]
silly extracting entry package.json
silly modified mode [ 'package.json', 438, 420 ]
silly extracting entry .npmignore
silly modified mode [ '.npmignore', 438, 420 ]
silly extracting entry index.js
silly modified mode [ 'index.js', 438, 420 ]
silly extracting entry bignum.cc
silly modified mode [ 'bignum.cc', 438, 420 ]
silly extracting entry binding.gyp
silly modified mode [ 'binding.gyp', 438, 420 ]
silly extracting entry examples/gen.js
silly modified mode [ 'examples/gen.js', 438, 420 ]
silly extracting entry examples/perfect.js
silly modified mode [ 'examples/perfect.js', 438, 420 ]
silly extracting entry examples/simple.js
silly modified mode [ 'examples/simple.js', 438, 420 ]
silly extracting entry README.markdown
silly modified mode [ 'README.markdown', 438, 420 ]
silly extracting entry test/big.js
silly modified mode [ 'test/big.js', 438, 420 ]
silly extracting entry test/buf.js
silly modified mode [ 'test/buf.js', 438, 420 ]
silly extracting entry test/seed.js
silly modified mode [ 'test/seed.js', 438, 420 ]
verbose has bindings.gyp [ undefined,
verbose has bindings.gyp   { file: 'c:\\TrinityCoreData\\wowProxy\\node_modules\\bignum\\package.json',
verbose has bindings.gyp     gypfile: true,
verbose has bindings.gyp     wscript: false,
verbose has bindings.gyp     contributors: false,
verbose has bindings.gyp     serverjs: false } ]
verbose caching c:\TrinityCoreData\wowProxy\node_modules\bignum\package.json
verbose loadDefaults [email protected]
info preinstall [email protected]
verbose from cache c:\TrinityCoreData\wowProxy\node_modules\bignum\package.json
verbose readDependencies: using package.json deps
verbose from cache c:\TrinityCoreData\wowProxy\node_modules\bignum\package.json
verbose readDependencies: using package.json deps
silly resolved []
verbose about to build c:\TrinityCoreData\wowProxy\node_modules\bignum
info build c:\TrinityCoreData\wowProxy\node_modules\bignum
verbose from cache c:\TrinityCoreData\wowProxy\node_modules\bignum\package.json
verbose linkStuff [ false,
verbose linkStuff   false,
verbose linkStuff   false,
verbose linkStuff   'c:\\TrinityCoreData\\wowProxy\\node_modules' ]
info linkStuff [email protected]
verbose linkBins [email protected]
verbose linkMans [email protected]
verbose rebuildBundles [email protected]
info install [email protected]
verbose unsafe-perm in lifecycle true
silly exec cmd "/c" "node-gyp configure build"
silly spawning [ 'cmd',
silly spawning   [ '/c', 'node-gyp configure build' ],
silly spawning   'c:\\TrinityCoreData\\wowProxy\\node_modules\\bignum' ]
info [email protected] Failed to exec install script
info unbuild c:\TrinityCoreData\wowProxy\node_modules\bignum
verbose from cache c:\TrinityCoreData\wowProxy\node_modules\bignum\package.json
info preuninstall [email protected]
info uninstall [email protected]
verbose unbuild [email protected] [ true,
verbose unbuild [email protected]   'c:\\TrinityCoreData\\wowProxy\\node_modules',
verbose unbuild [email protected]   'c:\\TrinityCoreData\\wowProxy\\node_modules' ]
info postuninstall [email protected]
ERR! [email protected] install: `node-gyp configure build`
ERR! `cmd "/c" "node-gyp configure build"` failed with 1
ERR! 
ERR! Failed at the [email protected] install script.
ERR! This is most likely a problem with the bignum package,
ERR! not with npm itself.
ERR! Tell the author that this fails on your system:
ERR!     node-gyp configure build
ERR! You can get their info via:
ERR!     npm owner ls bignum
ERR! There is likely additional logging output above.
ERR! 
ERR! System Windows_NT 6.1.7601
ERR! command "c:\\Program Files (x86)\\nodejs\\node.exe" "c:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "bignum"
ERR! cwd c:\TrinityCoreData\wowProxy
ERR! node -v v0.6.15
ERR! npm -v 1.1.16
ERR! code ELIFECYCLE
ERR! message [email protected] install: `node-gyp configure build`
ERR! message `cmd "/c" "node-gyp configure build"` failed with 1
ERR! errno {}
verbose exit [ 1, true ]

Not sure to understand all of this. I have Python 2.7.3 and openssl.

Behaves differently on 32-bit and 64-bit systems.

On a 32-bit system:

> bignum(1).mul(0x100000000)
<BigNum 0>

On a 64-bit system:

> bignum(1).mul(0x100000000)
<BigNum 4294967296>

Remember that javascript integers are 53 bits long! They are being truncated to 32 bits on 32-bit platforms.

Note that:

> bignum(1).mul(bignum(0x100000000))

works on both 32-bit and 64-bit machines. So it's just the "pass an integer instead of a bignum" shortcut which is broken.

seems to fail on node 0.8.17

(Mac OSX lion. from the tests for https://github.com/cainus/Prozess )

module.js:485
process.dlopen(filename, module.exports);
^
Error: dlopen(/Users/gcaines/Prozess/node_modules/buffermaker/node_modules/bignum/build/Release/bignum.node, 1): no suitable image found. Did find:
/Users/gcaines/Prozess/node_modules/buffermaker/node_modules/bignum/build/Release/bignum.node: mach-o, but wrong architecture
at Object.Module._extensions..node (module.js:485:11)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at new require (module.js:378:17)
at Object. (/Users/gcaines/Prozess/node_modules/buffermaker/node_modules/bignum/index.js:6:14)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object. (/Users/gcaines/Prozess/node_modules/buffermaker/index.js:1:76)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object. (/Users/gcaines/Prozess/lib/Producer.js:3:19)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object. (/Users/gcaines/Prozess/index.js:5:20)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object. (/Users/gcaines/Prozess/test/Consumer.js:5:16)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Mocha.loadFiles (/usr/local/lib/node_modules/mocha/lib/mocha.js:152:27)
at Array.forEach (native)
at Mocha.loadFiles (/usr/local/lib/node_modules/mocha/lib/mocha.js:149:14)
at Mocha.run (/usr/local/lib/node_modules/mocha/lib/mocha.js:305:31)
at Object. (/usr/local/lib/node_modules/mocha/bin/_mocha:327:7)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)

Install Error Win 8.1

Bunch of complaints from the compiler about v8.h.

Platform win 8.1 x 64:

c:\Users\Alexander\Downloads\node_modules\bignum>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" configure build ) else (node configure build )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
bignum.cc
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(336): error C2988: unrecognizable template declaration/definition [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(336): error C2059: syntax error : 'using' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(469): error C2988: unrecognizable template declaration/definition [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(469): error C2059: syntax error : 'using' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(576): error C2061: syntax error : identifier 'WeakCallbackType' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(642) : see reference to class template instantiation 'v8::PersistentBase' being compiled
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(637): error C2253: 'PersistentBase' : pure specifier or abstract override specifier only allowed on virtual function [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(844): error C2253: 'Global' : pure specifier or abstract override specifier only allowed on virtual function [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(847) : see reference to class template instantiation 'v8::Global' being compiled
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(852): error C2988: unrecognizable template declaration/definition [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(852): error C2059: syntax error : 'using' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(915): error C2989: 'v8::HandleScope' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(319) : see declaration of 'v8::HandleScope'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(949): error C2989: 'v8::EscapableHandleScope' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(135) : see declaration of 'v8::EscapableHandleScope'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(979): error C2989: 'v8::Data' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(74) : see declaration of 'v8::Data'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(1118): error C2989: 'v8::Script' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(96) : see declaration of 'v8::Script'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(1559): error C2989: 'v8::StackTrace' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(101) : see declaration of 'v8::StackTrace'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(1622): error C2989: 'v8::StackFrame' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(100) : see declaration of 'v8::StackFrame'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2031): error C2989: 'v8::Value' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(108) : see declaration of 'v8::Value'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2037): error C2989: 'v8::Primitive' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(93) : see declaration of 'v8::Primitive'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2052): error C2989: 'v8::Boolean' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(70) : see declaration of 'v8::Boolean'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2072): error C2989: 'v8::Name' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(86) : see declaration of 'v8::Name'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2439): error C2989: 'v8::String' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(102) : see declaration of 'v8::String'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2477): error C2989: 'v8::Symbol' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(104) : see declaration of 'v8::Symbol'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2491): error C2989: 'v8::Number' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(87) : see declaration of 'v8::Number'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2506): error C2989: 'v8::Integer' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(82) : see declaration of 'v8::Integer'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2520): error C2989: 'v8::Int32' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(81) : see declaration of 'v8::Int32'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2534): error C2989: 'v8::Uint32' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(106) : see declaration of 'v8::Uint32'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2942): error C2989: 'v8::Object' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(89) : see declaration of 'v8::Object'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(2971): error C2989: 'v8::Array' : class template has already been declared as a non-class template [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(69) : see declaration of 'v8::Array'
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3181): error C2504: 'v8::Object' : base class undefined [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3188): error C2061: syntax error : identifier 'FunctionCallback' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3194): error C2061: syntax error : identifier 'FunctionCallback' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3205): error C2059: syntax error : 'return' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3205): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3210): error C2146: syntax error : missing ';' before identifier 'Call' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3216): error C2270: 'GetName' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3224): error C2270: 'GetInferredName' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3230): error C2270: 'GetDisplayName' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3236): error C2270: 'GetScriptLineNumber' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3241): error C2270: 'GetScriptColumnNumber' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3246): error C2270: 'IsBuiltin' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3251): error C2270: 'ScriptId' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3257): error C2270: 'GetBoundFunction' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3259): error C2270: 'GetScriptOrigin' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3263): error C2059: syntax error : 'private' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3264): error C2059: syntax error : ')' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3273): error C2504: 'Object' : base class undefined [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3275): error C2504: 'Object' : base class undefined [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3281): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3281): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3281): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3282): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3282): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3283): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3288): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3288): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3288): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3294): error C2061: syntax error : identifier 'Local' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3296): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3296): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3296): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3298): error C2061: syntax error : identifier 'Local' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3300): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3300): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3300): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3302): error C2061: syntax error : identifier 'Value' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3306): error C2061: syntax error : identifier 'Value' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3316): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3316): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3316): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3317): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3317): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3318): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3321): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3321): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3321): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3322): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3322): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3323): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3326): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3326): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3326): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3327): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3327): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3328): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3336): error C2061: syntax error : identifier 'Value' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3340): error C2061: syntax error : identifier 'Value' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3357): error C2504: 'Object' : base class undefined [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3374): error C2628: 'ArrayBuffer::Allocator' followed by 'void' is illegal (did you forget a ';'?) [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3400): error C3861: 'data_': identifier not found [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3400): error C2461: 'Contents' : constructor syntax missing formal parameters [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3400): error C2059: syntax error : 'constant' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3400): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3400): error C2143: syntax error : missing ';' before '{' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3400): error C2334: unexpected token(s) preceding '{'; skipping apparent function body [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3402): error C2059: syntax error : 'return' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3402): error C2238: unexpected token(s) preceding ';' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3403): error C2146: syntax error : missing ';' before identifier 'ByteLength' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3403): error C2270: 'ByteLength' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3403): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3403): error C2065: 'byte_length_' : undeclared identifier [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3405): error C2059: syntax error : 'private' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3409): error C2255: 'friend' : not allowed outside of a class definition [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3410): error C2059: syntax error : '}' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3410): error C2143: syntax error : missing ';' before '}' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3416): error C2270: 'ByteLength' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3424): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3432): error C2143: syntax error : missing ';' before '<' [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3440): error C2270: 'IsExternal' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3445): error C2270: 'IsNeuterable' : modifiers not allowed on nonmember functions [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3478): error C2065: 'Value' : undeclared identifier [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3478): error C2065: 'obj' : undeclared identifier [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3478): error C2433: 'Cast' : '__forceinline' not permitted on data declarations [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]
c:\users\alexander.node-gyp\4.1.1\include\node\v8.h(3478): fatal error C1903: unable to recover from previous error(s); stopping compilation [c:\Users\Alexander\Downloads\node_modules\bignum\build\bignum.vcxproj]

Command line output:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\Program Files\nodejs\node.exe',
1 verbose cli 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js',
1 verbose cli 'install',
1 verbose cli '[email protected]' ]
2 info using [email protected]
3 info using [email protected]
4 verbose install initial load of c:\Users\Alexander\Downloads\package.json
5 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\async\package.json
6 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\big\package.json
7 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\bnerr.log\package.json
8 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\cli-color\package.json
9 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\dateformat\package.json
10 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\gyp\package.json
11 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\nan\package.json
12 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\openssl\package.json
13 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\python\package.json
14 verbose installManyTop reading scoped package data from c:\Users\Alexander\Downloads\node_modules\redis\package.json
15 info package.json [email protected] No repository field.
16 info package.json [email protected] license should be a valid SPDX license expression
17 info package.json [email protected] license should be a valid SPDX license expression
18 info package.json [email protected] No license field.
19 verbose readDependencies loading dependencies from c:\Users\Alexander\Downloads\package.json
20 silly cache add args [ '[email protected]', null ]
21 verbose cache add spec [email protected]
22 silly cache add parsed spec Result {
22 silly cache add raw: '[email protected]',
22 silly cache add scope: null,
22 silly cache add name: 'bignum',
22 silly cache add rawSpec: 'v0.5.0',
22 silly cache add spec: '0.5.0',
22 silly cache add type: 'version' }
23 silly addNamed [email protected]
24 verbose addNamed "0.5.0" is a plain semver version for bignum
25 silly mapToRegistry name bignum
26 silly mapToRegistry using default registry
27 silly mapToRegistry registry https://registry.npmjs.org/
28 silly mapToRegistry uri https://registry.npmjs.org/bignum
29 verbose addNameVersion registry:https://registry.npmjs.org/bignum not in flight; fetching
30 verbose request uri https://registry.npmjs.org/bignum
31 verbose request no auth needed
32 info attempt registry request try #1 at 5:14:28 PM
33 verbose request id 91c7953f861eca47
34 verbose etag "7FE5H8YH8TQHUTWVHWIVSIC4J"
35 http request GET https://registry.npmjs.org/bignum
36 http 304 https://registry.npmjs.org/bignum
37 silly get cb [ 304,
37 silly get { date: 'Wed, 30 Sep 2015 21:14:28 GMT',
37 silly get via: '1.1 varnish',
37 silly get 'cache-control': 'max-age=60',
37 silly get etag: '"7FE5H8YH8TQHUTWVHWIVSIC4J"',
37 silly get age: '19',
37 silly get connection: 'keep-alive',
37 silly get 'x-served-by': 'cache-jfk1033-JFK',
37 silly get 'x-cache': 'HIT',
37 silly get 'x-cache-hits': '1',
37 silly get 'x-timer': 'S1443647668.750428,VS0,VE14',
37 silly get vary: 'Accept' } ]
38 verbose etag https://registry.npmjs.org/bignum from cache
39 verbose get saving bignum to C:\Users\Alexander\AppData\Roaming\npm-cache\registry.npmjs.org\bignum.cache.json
40 silly mapToRegistry name bignum
41 silly mapToRegistry using default registry
42 silly mapToRegistry registry https://registry.npmjs.org/
43 silly mapToRegistry uri https://registry.npmjs.org/bignum
44 verbose addRemoteTarball https://registry.npmjs.org/bignum/-/bignum-0.5.0.tgz not in flight; adding
45 verbose addRemoteTarball [ 'https://registry.npmjs.org/bignum/-/bignum-0.5.0.tgz',
45 verbose addRemoteTarball 'abb24b706c59b692cd49cacf59a3827c9f8a950c' ]
46 info retry fetch attempt 1 at 5:14:28 PM
47 info attempt registry request try #1 at 5:14:28 PM
48 http fetch GET https://registry.npmjs.org/bignum/-/bignum-0.5.0.tgz
49 http fetch 200 https://registry.npmjs.org/bignum/-/bignum-0.5.0.tgz
50 silly fetchAndShaCheck shasum abb24b706c59b692cd49cacf59a3827c9f8a950c
51 verbose addTmpTarball C:\Users\ALEXAN~1\AppData\Local\Temp\npm-2776-1b341189\registry.npmjs.org\bignum-\bignum-0.5.0.tgz not in flight; adding
52 verbose addTmpTarball already have metadata; skipping unpack for [email protected]
53 silly cache afterAdd [email protected]
54 verbose afterAdd C:\Users\Alexander\AppData\Roaming\npm-cache\bignum\0.5.0\package\package.json not in flight; writing
55 verbose afterAdd C:\Users\Alexander\AppData\Roaming\npm-cache\bignum\0.5.0\package\package.json written
56 silly install resolved [ { name: 'bignum',
56 silly install resolved version: '0.5.0',
56 silly install resolved description: 'Arbitrary-precision integer arithmetic using OpenSSL',
56 silly install resolved main: './index.js',
56 silly install resolved repository:
56 silly install resolved { type: 'git',
56 silly install resolved url: 'http://github.com/justmoon/node-bignum.git' },
56 silly install resolved keywords:
56 silly install resolved [ 'gmp',
56 silly install resolved 'libgmp',
56 silly install resolved 'big',
56 silly install resolved 'bignum',
56 silly install resolved 'bigint',
56 silly install resolved 'integer',
56 silly install resolved 'arithmetic',
56 silly install resolved 'precision' ],
56 silly install resolved author:
56 silly install resolved { name: 'Stefan Thomas',
56 silly install resolved email: '[email protected]',
56 silly install resolved url: 'http://www.justmoon.net' },
56 silly install resolved devDependencies: { expresso: '>=0.6.0', binary: '>=0.1.7', put: '>=0.0.5' },
56 silly install resolved license: 'MIT/X11',
56 silly install resolved engine: { node: '>=0.8.0' },
56 silly install resolved scripts: { install: 'node-gyp configure build', test: 'expresso' },
56 silly install resolved contributors: [ [Object] ],
56 silly install resolved _id: '[email protected]',
56 silly install resolved dist:
56 silly install resolved { shasum: 'abb24b706c59b692cd49cacf59a3827c9f8a950c',
56 silly install resolved tarball: 'http://registry.npmjs.org/bignum/-/bignum-0.5.0.tgz' },
56 silly install resolved maintainers: [ [Object] ],
56 silly install resolved directories: {},
56 silly install resolved _shasum: 'abb24b706c59b692cd49cacf59a3827c9f8a950c',
56 silly install resolved _resolved: 'https://registry.npmjs.org/bignum/-/bignum-0.5.0.tgz',
56 silly install resolved _from: '[email protected]' } ]
57 info install [email protected] into c:\Users\Alexander\Downloads
58 info installOne [email protected]
59 verbose installOne of bignum to c:\Users\Alexander\Downloads not in flight; installing
60 verbose lock using C:\Users\Alexander\AppData\Roaming\npm-cache_locks\bignum-e184cd3984cc2b66.lock for c:\Users\Alexander\Downloads\node_modules\bignum
61 silly install write writing bignum 0.5.0 to c:\Users\Alexander\Downloads\node_modules\bignum
62 verbose unbuild node_modules\bignum
63 silly gentlyRm c:\Users\Alexander\Downloads\node_modules\bignum is being purged from base c:\Users\Alexander\Downloads
64 verbose gentlyRm don't care about contents; nuking c:\Users\Alexander\Downloads\node_modules\bignum
65 verbose tar unpack C:\Users\Alexander\AppData\Roaming\npm-cache\bignum\0.5.0\package.tgz
66 verbose tar unpacking to c:\Users\Alexander\Downloads\node_modules\bignum
67 silly gentlyRm c:\Users\Alexander\Downloads\node_modules\bignum is being purged
68 verbose gentlyRm don't care about contents; nuking c:\Users\Alexander\Downloads\node_modules\bignum
69 silly gunzTarPerm modes [ '777', '666' ]
70 silly gunzTarPerm extractEntry package.json
71 silly gunzTarPerm modified mode [ 'package.json', 420, 438 ]
72 silly gunzTarPerm extractEntry .npmignore
73 silly gunzTarPerm modified mode [ '.npmignore', 420, 438 ]
74 silly gunzTarPerm extractEntry index.js
75 silly gunzTarPerm modified mode [ 'index.js', 420, 438 ]
76 silly gunzTarPerm extractEntry test/seed.js
77 silly gunzTarPerm modified mode [ 'test/seed.js', 420, 438 ]
78 silly gunzTarPerm extractEntry test/buf.js
79 silly gunzTarPerm modified mode [ 'test/buf.js', 420, 438 ]
80 silly gunzTarPerm extractEntry test/big.js
81 silly gunzTarPerm modified mode [ 'test/big.js', 420, 438 ]
82 silly gunzTarPerm extractEntry binding.gyp
83 silly gunzTarPerm modified mode [ 'binding.gyp', 420, 438 ]
84 silly gunzTarPerm extractEntry bignum.cc
85 silly gunzTarPerm modified mode [ 'bignum.cc', 420, 438 ]
86 silly gunzTarPerm extractEntry examples/perfect.js
87 silly gunzTarPerm modified mode [ 'examples/perfect.js', 420, 438 ]
88 silly gunzTarPerm extractEntry examples/simple.js
89 silly gunzTarPerm modified mode [ 'examples/simple.js', 420, 438 ]
90 silly gunzTarPerm extractEntry examples/gen.js
91 silly gunzTarPerm modified mode [ 'examples/gen.js', 420, 438 ]
92 silly gunzTarPerm extractEntry README.markdown
93 silly gunzTarPerm modified mode [ 'README.markdown', 420, 438 ]
94 verbose write writing to c:\Users\Alexander\Downloads\node_modules\bignum\package.json
95 info preinstall [email protected]
96 verbose readDependencies loading dependencies from c:\Users\Alexander\Downloads\node_modules\bignum\package.json
97 verbose readDependencies loading dependencies from c:\Users\Alexander\Downloads\node_modules\bignum\package.json
98 silly install resolved []
99 verbose about to build c:\Users\Alexander\Downloads\node_modules\bignum
100 info build c:\Users\Alexander\Downloads\node_modules\bignum
101 info linkStuff [email protected]
102 silly linkStuff [email protected] has c:\Users\Alexander\Downloads\node_modules as its parent node_modules
103 verbose linkBins [email protected]
104 verbose linkMans [email protected]
105 verbose rebuildBundles [email protected]
106 info install [email protected]
107 verbose unsafe-perm in lifecycle true
108 info [email protected] Failed to exec install script
109 verbose unlock done using C:\Users\Alexander\AppData\Roaming\npm-cache_locks\bignum-e184cd3984cc2b66.lock for c:\Users\Alexander\Downloads\node_modules\bignum
110 verbose stack Error: [email protected] install: node-gyp configure build
110 verbose stack Exit status 1
110 verbose stack at EventEmitter. (C:\Program Files\nodejs\node_modules\npm\lib\utils\lifecycle.js:214:16)
110 verbose stack at emitTwo (events.js:87:13)
110 verbose stack at EventEmitter.emit (events.js:172:7)
110 verbose stack at ChildProcess. (C:\Program Files\nodejs\node_modules\npm\lib\utils\spawn.js:24:14)
110 verbose stack at emitTwo (events.js:87:13)
110 verbose stack at ChildProcess.emit (events.js:172:7)
110 verbose stack at maybeClose (internal/child_process.js:817:16)
110 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
111 verbose pkgid [email protected]
112 verbose cwd c:\Users\Alexander\Downloads\node_modules
113 error Windows_NT 6.3.9600
114 error argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "[email protected]"
115 error node v4.1.1
116 error npm v2.14.4
117 error code ELIFECYCLE
118 error [email protected] install: node-gyp configure build
118 error Exit status 1
119 error Failed at the [email protected] install script 'node-gyp configure build'.
119 error This is most likely a problem with the bignum package,
119 error not with npm itself.
119 error Tell the author that this fails on your system:
119 error node-gyp configure build
119 error You can get their info via:
119 error npm owner ls bignum
119 error There is likely additional logging output above.
120 verbose exit [ 1, true ]
121 verbose unbuild node_modules\bignum
122 info preuninstall [email protected]
123 info uninstall [email protected]
124 verbose unbuild rmStuff [email protected] from c:\Users\Alexander\Downloads\node_modules
125 info postuninstall [email protected]
126 silly gentlyRm c:\Users\Alexander\Downloads\node_modules\bignum is being purged from base c:\Users\Alexander\Downloads
127 verbose gentlyRm don't care about contents; nuking c:\Users\Alexander\Downloads\node_modules\bignum
128 silly vacuum-fs purging c:\Users\Alexander\Downloads\node_modules\bignum
129 silly vacuum-fs quitting because other entries in c:\Users\Alexander\Downloads\node_modules

cannot build in node version 0.11.10

npm http GET https://registry.npmjs.org/bignum
npm http 304 https://registry.npmjs.org/bignum

[email protected] install /Users/nimeshgurung/Desktop/api-node/node_modules/bignum
node-gyp configure build

CXX(target) Release/obj.target/bignum/bignum.o
../bignum.cc:172:16: error: expected class name
class BigNum : ObjectWrap {
^
../bignum.cc:189:34: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle New(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:190:39: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle ToString(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:191:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Badd(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:192:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Bsub(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:193:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Bmul(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:194:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Bdiv(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:195:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Uadd(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:196:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Usub(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:197:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Umul(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:198:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Udiv(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:199:40: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Umul_2exp(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:200:40: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Udiv_2exp(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:201:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Babs(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:202:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Bneg(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:203:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Bmod(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:204:35: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Umod(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:205:36: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Bpowm(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
../bignum.cc:206:36: error: unknown type name 'Arguments'; did you mean
'v8::internal::Arguments'?
static Handle Upowm(const Arguments& args);
^~~~~~~~~
v8::internal::Arguments
/Users/nimeshgurung/.node-gyp/0.11.10/deps/v8/include/v8.h:141:7: note:
'v8::internal::Arguments' declared here
class Arguments;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [Release/obj.target/bignum/bignum.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/Cellar/node/0.10.24/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23)
gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:104:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:862:12)
gyp ERR! System Darwin 13.0.0
gyp ERR! command "node" "/usr/local/Cellar/node/0.10.24/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/nimeshgurung/Desktop/api-node/node_modules/bignum
gyp ERR! node -v v0.11.10
gyp ERR! node-gyp -v v0.12.1
gyp ERR! not ok
npm ERR! [email protected] install: node-gyp configure build
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is most likely a problem with the bignum package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp configure build
npm ERR! You can get their info via:
npm ERR! npm owner ls bignum
npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 13.0.0
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "bignum"
npm ERR! cwd /Users/nimeshgurung/Desktop/api-node
npm ERR! node -v v0.11.10
npm ERR! npm -v 1.3.21
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/nimeshgurung/Desktop/api-node/npm-debug.log
npm ERR! not ok code 0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.