Closed judasowelu closed 9 years ago
In the log you pasted, it's said that Can't find Python executable "python"
. Are you sure you have python 2.x successfully installed?
If you can't solve it you can also try iconv-lite
my fault i was install python 3.4 thank you!
sorry for my stupid eng
i have installed python 3.4.2 but it show it says same message before install python and after
i don't need iconv anymore but i wish this information may help you
here is my computer
OS : windows 7 Ultimate K 64bit RAM : 8.00GB CPU : intel{R) Core(TM) i7-4960X CPU @ 3.60GHz 3.80GHz Node.js v0.10.26
here is cmd
D:\dev\workspace\nodeJsServer\src>npm install iconv npm http GET https://registry.npmjs.org/iconv npm http 304 https://registry.npmjs.org/iconv npm http GET https://registry.npmjs.org/nan npm http 304 https://registry.npmjs.org/nan
D:\dev\workspace\nodeJsServer\src\node_modules\iconv>node "C:\Program Files\node js\node_modules\npm\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.j s" rebuild gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT HON env variable. gyp ERR! stack at failNoPython (C:\Program Files\nodejs\node_modules\npm\nod e_modules\node-gyp\lib\configure.js:101:14) gyp ERR! stack at C:\Program Files\nodejs\node_modules\npm\node_modules\node -gyp\lib\configure.js:64:11 gyp ERR! stack at Object.oncomplete (fs.js:107:15) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "node" "C:\Program Files\nodejs\node_modules\npm\node_modu les\node-gyp\bin\node-gyp.js" "rebuild" gyp ERR! cwd D:\dev\workspace\nodeJsServer\src\node_modules\iconv gyp ERR! node -v v0.10.26 gyp ERR! node-gyp -v v0.12.2 gyp ERR! not ok npm ERR! iconv@2.1.4 install:
node-gyp rebuild
npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the iconv@2.1.4 install script. npm ERR! This is most likely a problem with the iconv package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get their info via: npm ERR! npm owner ls iconv npm ERR! There is likely additional logging output above.npm ERR! System Windows_NT 6.1.7601 npm ERR! command "C:\Program Files\nodejs\node.exe" "C:\Program Files\nod ejs\node_modules\npm\bin\npm-cli.js" "install" "iconv" npm ERR! cwd D:\dev\workspace\nodeJsServer\src npm ERR! node -v v0.10.26 npm ERR! npm -v 1.4.3 npm ERR! code ELIFECYCLE npm ERR! npm ERR! Additional logging details can be found in: npm ERR! D:\dev\workspace\nodeJsServer\src\npm-debug.log npm ERR! not ok code 0
D:\dev\workspace\nodeJsServer\src>
here is npm-debug.log
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\nodemodules\npm\bin\npm-cli.js', 1 verbose cli 'install', 1 verbose cli 'iconv' ] 2 info using npm@1.4.3 3 info using node@v0.10.26 4 verbose node symlink C:\Program Files\nodejs\node.exe 5 verbose cache add [ 'iconv', null ] 6 verbose cache add name=undefined spec="iconv" args=["iconv",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: 'iconv', 7 verbose parsed url path: 'iconv', 7 verbose parsed url href: 'iconv' } 8 silly lockFile b77bb132-iconv iconv 9 verbose lock iconv C:\Users\SM\AppData\Roaming\npm-cache\b77bb132-iconv.lock 10 silly lockFile b77bb132-iconv iconv 11 silly lockFile b77bb132-iconv iconv 12 verbose addNamed [ 'iconv', '' ] 13 verbose addNamed [ null, '' ] 14 silly lockFile 7ff3175f-iconv iconv@ 15 verbose lock iconv@ C:\Users\SM\AppData\Roaming\npm-cache\7ff3175f-iconv.lock 16 silly addNameRange { name: 'iconv', range: '', hasData: false } 17 verbose url raw iconv 18 verbose url resolving [ 'https://registry.npmjs.org/', './iconv' ] 19 verbose url resolved https://registry.npmjs.org/iconv 20 info trying registry request attempt 1 at 14:31:20 21 verbose etag "BRAF79I2G31P3LEK64SRW8513" 22 http GET https://registry.npmjs.org/iconv 23 http 304 https://registry.npmjs.org/iconv 24 silly registry.get cb [ 304, 24 silly registry.get { date: 'Fri, 16 Jan 2015 05:31:11 GMT', 24 silly registry.get server: 'Apache', 24 silly registry.get via: '1.1 varnish', 24 silly registry.get 'last-modified': 'Fri, 16 Jan 2015 05:31:11 GMT', 24 silly registry.get 'cache-control': 'max-age=60', 24 silly registry.get etag: '"BRAF79I2G31P3LEK64SRW8513"', 24 silly registry.get age: '0', 24 silly registry.get 'x-served-by': 'cache-ty66-TYO', 24 silly registry.get 'x-cache': 'HIT', 24 silly registry.get 'x-cache-hits': '1', 24 silly registry.get 'x-timer': 'S1421386271.409670,VS0,VE185', 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 iconv from cache 26 silly addNameRange number 2 { name: 'iconv', range: '', hasData: true } 27 silly addNameRange versions [ 'iconv', 27 silly addNameRange [ '1.0.0', 27 silly addNameRange '1.0.1', 27 silly addNameRange '1.1.0', 27 silly addNameRange '1.1.1', 27 silly addNameRange '1.1.2', 27 silly addNameRange '1.1.3', 27 silly addNameRange '1.2.0', 27 silly addNameRange '1.2.1', 27 silly addNameRange '1.2.2', 27 silly addNameRange '1.2.3', 27 silly addNameRange '1.2.4', 27 silly addNameRange '2.0.0', 27 silly addNameRange '2.0.1', 27 silly addNameRange '2.0.2', 27 silly addNameRange '2.0.3', 27 silly addNameRange '2.0.4', 27 silly addNameRange '2.0.5', 27 silly addNameRange '2.0.6', 27 silly addNameRange '2.0.7', 27 silly addNameRange '2.1.0', 27 silly addNameRange '2.1.1', 27 silly addNameRange '2.1.2', 27 silly addNameRange '2.1.3', 27 silly addNameRange '2.1.4' ] ] 28 verbose addNamed [ 'iconv', '2.1.4' ] 29 verbose addNamed [ '2.1.4', '2.1.4' ] 30 silly lockFile 40dc9946-iconv-2-1-4 iconv@2.1.4 31 verbose lock iconv@2.1.4 C:\Users\SM\AppData\Roaming\npm-cache\40dc9946-iconv-2-1-4.lock 32 silly lockFile 40dc9946-iconv-2-1-4 iconv@2.1.4 33 silly lockFile 40dc9946-iconv-2-1-4 iconv@2.1.4 34 silly lockFile 7ff3175f-iconv iconv@ 35 silly lockFile 7ff3175f-iconv iconv@ 36 silly resolved [ { name: 'iconv', 36 silly resolved main: './lib/iconv', 36 silly resolved version: '2.1.4', 36 silly resolved description: 'Text recoding in JavaScript for fun and profit!', 36 silly resolved homepage: 'https://github.com/bnoordhuis/node-iconv', 36 silly resolved repository: 36 silly resolved { type: 'git', 36 silly resolved url: 'git://github.com/bnoordhuis/node-iconv.git' }, 36 silly resolved author: { name: 'Ben Noordhuis', email: 'info@bnoordhuis.nl' }, 36 silly resolved engines: { node: '>=0.8.0' }, 36 silly resolved license: 'ISC', 36 silly resolved readmeFilename: 'README.md', 36 silly resolved dependencies: { nan: '~1.1.1' }, 36 silly resolved devDependencies: { tap: '~0.4.8' }, 36 silly resolved scripts: { test: 'tap test/test-*.js', install: 'node-gyp rebuild' }, 36 silly resolved gypfile: true, 36 silly resolved readme: '# node-iconv\n\nText recoding in JavaScript for fun and profit!\n\nnode-iconv may or may not work on Windows. Please try it and report any issues\nyou have.\n\n## Installing with npm\n\n $ npm install iconv\n\nNote that you do not need to have a copy of libiconv installed to use this\nmodule.\n\n## Compiling from source\n\n $ git clone git://github.com/bnoordhuis/node-iconv.git\n $ node-gyp configure build\n $ npm install .\n\n## Usage\n\nEncode from one character encoding to another:\n\n // convert from UTF-8 to ISO-8859-1\n var Buffer = require(\'buffer\').Buffer;\n var Iconv = require(\'iconv\').Iconv;\n var assert = require(\'assert\');\n\n var iconv = new Iconv(\'UTF-8\', \'ISO-8859-1\');\n var buffer = iconv.convert(\'Hello, world!\');\n var buffer2 = iconv.convert(new Buffer(\'Hello, world!\'));\n assert.equals(buffer.inspect(), buffer2.inspect());\n // do something useful with the buffers\n\nA simple ISO-8859-1 to UTF-8 conversion TCP service:\n\n var net = require(\'net\');\n var Iconv = require(\'iconv\').Iconv;\n var server = net.createServer(function(conn) {\n var iconv = new Iconv(\'latin1\', \'utf-8\');\n conn.pipe(iconv).pipe(conn);\n });\n server.listen(8000);\n console.log(\'Listening on tcp://0.0.0.0:8000/\');\n\nLook at test/test-basic.js and test/test-stream.js for more examples\nand node-iconv\'s behaviour under error conditions.\n\n## Notes\n\nThings to keep in mind when you work with node-iconv.\n\n### Chunked data\n\nSay you are reading data in chunks from a HTTP stream. The logical input is a\nsingle document (the full POST request data) but the physical input will be\nspread over several buffers (the request chunks).\n\nYou must accumulate the small buffers into a single large buffer before\nperforming the conversion. If you don\'t, you will get unexpected results with\nmulti-byte and stateful character sets like UTF-8 and ISO-2022-JP.\n\nThe above only applies when you are calling s = NanNew("value");\n\n...\n\nPersistent
Iconv#convert()
yourself.\nIf you use the streaming interface, node-iconv takes care of stitching\npartial character sequences together again.\n\n### Dealing with untranslatable characters\n\nCharacters are not always translatable to another encoding. The UTF-8 string\n"ça va が", for example, cannot be represented in plain 7-bits ASCII without\nsome loss of fidelity.\n\nBy default, node-iconv throws EILSEQ when untranslatabe characters are\nencountered but this can be customized. Quoting theiconv_open(3)
man page:\n\n //TRANSLIT\n When the string "//TRANSLIT" is appended to tocode, transliteration is\n activated. This means that when a character cannot be represented in the\n target character set, it can be approximated through one or several\n similarly looking characters.\n\n //IGNORE\n When the string "//IGNORE" is appended to tocode, characters that cannot be\n represented in the target character set will be silently discarded.\n\nExample usage:\n\n var iconv = new Iconv(\'UTF-8\', \'ASCII\');\n iconv.convert(\'ça va\'); // throws EILSEQ\n\n var iconv = new Iconv(\'UTF-8\', \'ASCII//IGNORE\');\n iconv.convert(\'ça va\'); // returns "a va"\n\n var iconv = new Iconv(\'UTF-8\', \'ASCII//TRANSLIT\');\n iconv.convert(\'ça va\'); // "ca va"\n\n var iconv = new Iconv(\'UTF-8\', \'ASCII//TRANSLIT//IGNORE\');\n iconv.convert(\'ça va が\'); // "ca va "\n\n### EINVAL\n\nEINVAL is raised when the input ends in a partial character sequence. This is a\nfeature, not a bug.\n', 36 silly resolved bugs: { url: 'https://github.com/bnoordhuis/node-iconv/issues' }, 36 silly resolved _id: 'iconv@2.1.4', 36 silly resolved _from: 'iconv@' } ] 37 info install iconv@2.1.4 into D:\dev\workspace\nodeJsServer\src 38 info installOne iconv@2.1.4 39 info D:\dev\workspace\nodeJsServer\src\node_modules\iconv unbuild 40 verbose tar unpack C:\Users\SM\AppData\Roaming\npm-cache\iconv\2.1.4\package.tgz 41 silly lockFile 12d4d841-eJsServer-src-node-modules-iconv tar://D:\dev\workspace\nodeJsServer\src\node_modules\iconv 42 verbose lock tar://D:\dev\workspace\nodeJsServer\src\node_modules\iconv C:\Users\SM\AppData\Roaming\npm-cache\12d4d841-eJsServer-src-node-modules-iconv.lock 43 silly lockFile 51d678f1-pm-cache-iconv-2-1-4-package-tgz tar://C:\Users\SM\AppData\Roaming\npm-cache\iconv\2.1.4\package.tgz 44 verbose lock tar://C:\Users\SM\AppData\Roaming\npm-cache\iconv\2.1.4\package.tgz C:\Users\SM\AppData\Roaming\npm-cache\51d678f1-pm-cache-iconv-2-1-4-package-tgz.lock 45 silly gunzTarPerm modes [ '755', '644' ] 46 silly gunzTarPerm extractEntry package.json 47 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ] 48 silly gunzTarPerm extractEntry .npmignore 49 silly gunzTarPerm modified mode [ '.npmignore', 438, 420 ] 50 silly gunzTarPerm extractEntry README.md 51 silly gunzTarPerm modified mode [ 'README.md', 438, 420 ] 52 silly gunzTarPerm extractEntry LICENSE 53 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ] 54 silly gunzTarPerm extractEntry binding.gyp 55 silly gunzTarPerm modified mode [ 'binding.gyp', 438, 420 ] 56 silly gunzTarPerm extractEntry deps/libiconv/README 57 silly gunzTarPerm modified mode [ 'deps/libiconv/README', 438, 420 ] 58 silly gunzTarPerm extractEntry deps/libiconv/INSTALL.generic 59 silly gunzTarPerm modified mode [ 'deps/libiconv/INSTALL.generic', 438, 420 ] 60 silly gunzTarPerm extractEntry deps/libiconv/COPYING 61 silly gunzTarPerm modified mode [ 'deps/libiconv/COPYING', 438, 420 ] 62 silly gunzTarPerm extractEntry deps/libiconv/COPYING.LIB 63 silly gunzTarPerm modified mode [ 'deps/libiconv/COPYING.LIB', 438, 420 ] 64 silly gunzTarPerm extractEntry deps/libiconv/ChangeLog 65 silly gunzTarPerm modified mode [ 'deps/libiconv/ChangeLog', 438, 420 ] 66 silly gunzTarPerm extractEntry deps/libiconv/DEPENDENCIES 67 silly gunzTarPerm modified mode [ 'deps/libiconv/DEPENDENCIES', 438, 420 ] 68 silly gunzTarPerm extractEntry deps/libiconv/DESIGN 69 silly gunzTarPerm modified mode [ 'deps/libiconv/DESIGN', 438, 420 ] 70 silly gunzTarPerm extractEntry deps/libiconv/HACKING 71 silly gunzTarPerm modified mode [ 'deps/libiconv/HACKING', 438, 420 ] 72 silly gunzTarPerm extractEntry deps/libiconv/AUTHORS 73 silly gunzTarPerm modified mode [ 'deps/libiconv/AUTHORS', 438, 420 ] 74 silly gunzTarPerm extractEntry deps/libiconv/NEWS 75 silly gunzTarPerm modified mode [ 'deps/libiconv/NEWS', 438, 420 ] 76 silly gunzTarPerm extractEntry deps/libiconv/NOTES 77 silly gunzTarPerm modified mode [ 'deps/libiconv/NOTES', 438, 420 ] 78 silly gunzTarPerm extractEntry deps/libiconv/PORTS 79 silly gunzTarPerm modified mode [ 'deps/libiconv/PORTS', 438, 420 ] 80 silly gunzTarPerm extractEntry deps/libiconv/ABOUT-NLS 81 silly gunzTarPerm modified mode [ 'deps/libiconv/ABOUT-NLS', 438, 420 ] 82 silly gunzTarPerm extractEntry deps/libiconv/README.woe32 83 silly gunzTarPerm modified mode [ 'deps/libiconv/README.woe32', 438, 420 ] 84 silly gunzTarPerm extractEntry deps/libiconv/THANKS 85 silly gunzTarPerm modified mode [ 'deps/libiconv/THANKS', 438, 420 ] 86 silly gunzTarPerm extractEntry deps/libiconv/lib/euc_tw.h 87 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/euc_tw.h', 438, 420 ] 88 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases.gperf 89 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases.gperf', 438, 420 ] 90 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases2.h 91 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases2.h', 438, 420 ] 92 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_aix.h 93 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_aix.h', 438, 420 ] 94 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_aix_sysaix.h 95 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_aix_sysaix.h', 438, 420 ] 96 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_dos.h 97 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_dos.h', 438, 420 ] 98 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_extra.h 99 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_extra.h', 438, 420 ] 100 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_osf1.h 101 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_osf1.h', 438, 420 ] 102 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_osf1_sysosf1.h 103 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_osf1_sysosf1.h', 438, 420 ] 104 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_sysaix.gperf 105 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_sysaix.gperf', 438, 420 ] 106 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_sysaix.h 107 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_sysaix.h', 438, 420 ] 108 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_syshpux.gperf 109 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_syshpux.gperf', 438, 420 ] 110 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_syshpux.h 111 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_syshpux.h', 438, 420 ] 112 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_sysosf1.gperf 113 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_sysosf1.gperf', 438, 420 ] 114 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_sysosf1.h 115 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_sysosf1.h', 438, 420 ] 116 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_syssolaris.gperf 117 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_syssolaris.gperf', 438, 420 ] 118 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases_syssolaris.h 119 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases_syssolaris.h', 438, 420 ] 120 silly gunzTarPerm extractEntry deps/libiconv/lib/armscii_8.h 121 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/armscii_8.h', 438, 420 ] 122 silly gunzTarPerm extractEntry deps/libiconv/lib/ascii.h 123 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ascii.h', 438, 420 ] 124 silly gunzTarPerm extractEntry deps/libiconv/lib/atarist.h 125 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/atarist.h', 438, 420 ] 126 silly gunzTarPerm extractEntry deps/libiconv/lib/big5.h 127 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/big5.h', 438, 420 ] 128 silly gunzTarPerm extractEntry deps/libiconv/lib/big5_2003.h 129 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/big5_2003.h', 438, 420 ] 130 silly gunzTarPerm extractEntry deps/libiconv/lib/big5hkscs1999.h 131 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/big5hkscs1999.h', 438, 420 ] 132 silly gunzTarPerm extractEntry deps/libiconv/lib/big5hkscs2001.h 133 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/big5hkscs2001.h', 438, 420 ] 134 silly gunzTarPerm extractEntry deps/libiconv/lib/big5hkscs2004.h 135 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/big5hkscs2004.h', 438, 420 ] 136 silly gunzTarPerm extractEntry deps/libiconv/lib/big5hkscs2008.h 137 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/big5hkscs2008.h', 438, 420 ] 138 silly gunzTarPerm extractEntry deps/libiconv/lib/c99.h 139 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/c99.h', 438, 420 ] 140 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical.h 141 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical.h', 438, 420 ] 142 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_aix.h 143 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_aix.h', 438, 420 ] 144 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_aix_sysaix.h 145 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_aix_sysaix.h', 438, 420 ] 146 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_dos.h 147 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_dos.h', 438, 420 ] 148 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_extra.h 149 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_extra.h', 438, 420 ] 150 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_local.h 151 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_local.h', 438, 420 ] 152 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_local_sysaix.h 153 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_local_sysaix.h', 438, 420 ] 154 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_local_syshpux.h 155 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_local_syshpux.h', 438, 420 ] 156 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_local_sysosf1.h 157 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_local_sysosf1.h', 438, 420 ] 158 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_local_syssolaris.h 159 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_local_syssolaris.h', 438, 420 ] 160 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_osf1.h 161 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_osf1.h', 438, 420 ] 162 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_osf1_sysosf1.h 163 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_osf1_sysosf1.h', 438, 420 ] 164 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_sysaix.h 165 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_sysaix.h', 438, 420 ] 166 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_syshpux.h 167 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_syshpux.h', 438, 420 ] 168 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_sysosf1.h 169 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_sysosf1.h', 438, 420 ] 170 silly gunzTarPerm extractEntry deps/libiconv/lib/canonical_syssolaris.h 171 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/canonical_syssolaris.h', 438, 420 ] 172 silly gunzTarPerm extractEntry deps/libiconv/lib/ces_big5.h 173 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ces_big5.h', 438, 420 ] 174 silly gunzTarPerm extractEntry deps/libiconv/lib/ces_gbk.h 175 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ces_gbk.h', 438, 420 ] 176 silly gunzTarPerm extractEntry deps/libiconv/lib/cjk_variants.h 177 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cjk_variants.h', 438, 420 ] 178 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643.h 179 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643.h', 438, 420 ] 180 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_1.h 181 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_1.h', 438, 420 ] 182 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_15.h 183 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_15.h', 438, 420 ] 184 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_2.h 185 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_2.h', 438, 420 ] 186 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_3.h 187 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_3.h', 438, 420 ] 188 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_4.h 189 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_4.h', 438, 420 ] 190 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_4a.h 191 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_4a.h', 438, 420 ] 192 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_4b.h 193 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_4b.h', 438, 420 ] 194 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_5.h 195 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_5.h', 438, 420 ] 196 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_6.h 197 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_6.h', 438, 420 ] 198 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_7.h 199 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_7.h', 438, 420 ] 200 silly gunzTarPerm extractEntry deps/libiconv/lib/cns11643_inv.h 201 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cns11643_inv.h', 438, 420 ] 202 silly gunzTarPerm extractEntry deps/libiconv/lib/converters.h 203 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/converters.h', 438, 420 ] 204 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1046.h 205 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1046.h', 438, 420 ] 206 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1124.h 207 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1124.h', 438, 420 ] 208 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1125.h 209 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1125.h', 438, 420 ] 210 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1129.h 211 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1129.h', 438, 420 ] 212 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1131.h 213 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1131.h', 438, 420 ] 214 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1133.h 215 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1133.h', 438, 420 ] 216 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1161.h 217 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1161.h', 438, 420 ] 218 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1162.h 219 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1162.h', 438, 420 ] 220 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1163.h 221 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1163.h', 438, 420 ] 222 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1250.h 223 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1250.h', 438, 420 ] 224 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1251.h 225 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1251.h', 438, 420 ] 226 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1252.h 227 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1252.h', 438, 420 ] 228 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1253.h 229 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1253.h', 438, 420 ] 230 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1254.h 231 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1254.h', 438, 420 ] 232 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1255.h 233 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1255.h', 438, 420 ] 234 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1256.h 235 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1256.h', 438, 420 ] 236 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1257.h 237 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1257.h', 438, 420 ] 238 silly gunzTarPerm extractEntry deps/libiconv/lib/cp1258.h 239 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp1258.h', 438, 420 ] 240 silly gunzTarPerm extractEntry deps/libiconv/lib/cp437.h 241 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp437.h', 438, 420 ] 242 silly gunzTarPerm extractEntry deps/libiconv/lib/cp737.h 243 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp737.h', 438, 420 ] 244 silly gunzTarPerm extractEntry deps/libiconv/lib/cp775.h 245 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp775.h', 438, 420 ] 246 silly gunzTarPerm extractEntry deps/libiconv/lib/cp850.h 247 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp850.h', 438, 420 ] 248 silly gunzTarPerm extractEntry deps/libiconv/lib/cp852.h 249 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp852.h', 438, 420 ] 250 silly gunzTarPerm extractEntry deps/libiconv/lib/cp853.h 251 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp853.h', 438, 420 ] 252 silly gunzTarPerm extractEntry deps/libiconv/lib/cp855.h 253 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp855.h', 438, 420 ] 254 silly gunzTarPerm extractEntry deps/libiconv/lib/cp856.h 255 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp856.h', 438, 420 ] 256 silly gunzTarPerm extractEntry deps/libiconv/lib/cp857.h 257 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp857.h', 438, 420 ] 258 silly gunzTarPerm extractEntry deps/libiconv/lib/cp858.h 259 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp858.h', 438, 420 ] 260 silly gunzTarPerm extractEntry deps/libiconv/lib/cp860.h 261 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp860.h', 438, 420 ] 262 silly gunzTarPerm extractEntry deps/libiconv/lib/cp861.h 263 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp861.h', 438, 420 ] 264 silly gunzTarPerm extractEntry deps/libiconv/lib/cp862.h 265 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp862.h', 438, 420 ] 266 silly gunzTarPerm extractEntry deps/libiconv/lib/cp863.h 267 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp863.h', 438, 420 ] 268 silly gunzTarPerm extractEntry deps/libiconv/lib/cp864.h 269 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp864.h', 438, 420 ] 270 silly gunzTarPerm extractEntry deps/libiconv/lib/cp865.h 271 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp865.h', 438, 420 ] 272 silly gunzTarPerm extractEntry deps/libiconv/lib/cp866.h 273 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp866.h', 438, 420 ] 274 silly gunzTarPerm extractEntry deps/libiconv/lib/cp869.h 275 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp869.h', 438, 420 ] 276 silly gunzTarPerm extractEntry deps/libiconv/lib/cp874.h 277 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp874.h', 438, 420 ] 278 silly gunzTarPerm extractEntry deps/libiconv/lib/cp922.h 279 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp922.h', 438, 420 ] 280 silly gunzTarPerm extractEntry deps/libiconv/lib/cp932.h 281 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp932.h', 438, 420 ] 282 silly gunzTarPerm extractEntry deps/libiconv/lib/cp932ext.h 283 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp932ext.h', 438, 420 ] 284 silly gunzTarPerm extractEntry deps/libiconv/lib/cp936.h 285 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp936.h', 438, 420 ] 286 silly gunzTarPerm extractEntry deps/libiconv/lib/cp936ext.h 287 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp936ext.h', 438, 420 ] 288 silly gunzTarPerm extractEntry deps/libiconv/lib/cp943.h 289 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp943.h', 438, 420 ] 290 silly gunzTarPerm extractEntry deps/libiconv/lib/cp949.h 291 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp949.h', 438, 420 ] 292 silly gunzTarPerm extractEntry deps/libiconv/lib/cp950.h 293 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp950.h', 438, 420 ] 294 silly gunzTarPerm extractEntry deps/libiconv/lib/cp950ext.h 295 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/cp950ext.h', 438, 420 ] 296 silly gunzTarPerm extractEntry deps/libiconv/lib/dec_hanyu.h 297 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/dec_hanyu.h', 438, 420 ] 298 silly gunzTarPerm extractEntry deps/libiconv/lib/dec_kanji.h 299 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/dec_kanji.h', 438, 420 ] 300 silly gunzTarPerm extractEntry deps/libiconv/lib/encodings.def 301 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/encodings.def', 438, 420 ] 302 silly gunzTarPerm extractEntry deps/libiconv/lib/encodings_aix.def 303 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/encodings_aix.def', 438, 420 ] 304 silly gunzTarPerm extractEntry deps/libiconv/lib/encodings_dos.def 305 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/encodings_dos.def', 438, 420 ] 306 silly gunzTarPerm extractEntry deps/libiconv/lib/encodings_extra.def 307 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/encodings_extra.def', 438, 420 ] 308 silly gunzTarPerm extractEntry deps/libiconv/lib/encodings_local.def 309 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/encodings_local.def', 438, 420 ] 310 silly gunzTarPerm extractEntry deps/libiconv/lib/encodings_osf1.def 311 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/encodings_osf1.def', 438, 420 ] 312 silly gunzTarPerm extractEntry deps/libiconv/lib/euc_cn.h 313 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/euc_cn.h', 438, 420 ] 314 silly gunzTarPerm extractEntry deps/libiconv/lib/euc_jisx0213.h 315 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/euc_jisx0213.h', 438, 420 ] 316 silly gunzTarPerm extractEntry deps/libiconv/lib/euc_jp.h 317 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/euc_jp.h', 438, 420 ] 318 silly gunzTarPerm extractEntry deps/libiconv/lib/euc_kr.h 319 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/euc_kr.h', 438, 420 ] 320 silly gunzTarPerm extractEntry deps/libiconv/lib/aliases.h 321 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/aliases.h', 438, 420 ] 322 silly gunzTarPerm extractEntry deps/libiconv/lib/flags.h 323 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/flags.h', 438, 420 ] 324 silly gunzTarPerm extractEntry deps/libiconv/lib/flushwc.h 325 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/flushwc.h', 438, 420 ] 326 silly gunzTarPerm extractEntry deps/libiconv/lib/gb12345.h 327 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gb12345.h', 438, 420 ] 328 silly gunzTarPerm extractEntry deps/libiconv/lib/gb12345ext.h 329 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gb12345ext.h', 438, 420 ] 330 silly gunzTarPerm extractEntry deps/libiconv/lib/gb18030.h 331 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gb18030.h', 438, 420 ] 332 silly gunzTarPerm extractEntry deps/libiconv/lib/gb18030ext.h 333 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gb18030ext.h', 438, 420 ] 334 silly gunzTarPerm extractEntry deps/libiconv/lib/gb18030uni.h 335 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gb18030uni.h', 438, 420 ] 336 silly gunzTarPerm extractEntry deps/libiconv/lib/gb2312.h 337 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gb2312.h', 438, 420 ] 338 silly gunzTarPerm extractEntry deps/libiconv/lib/gbk.h 339 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gbk.h', 438, 420 ] 340 silly gunzTarPerm extractEntry deps/libiconv/lib/gbkext1.h 341 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gbkext1.h', 438, 420 ] 342 silly gunzTarPerm extractEntry deps/libiconv/lib/gbkext2.h 343 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gbkext2.h', 438, 420 ] 344 silly gunzTarPerm extractEntry deps/libiconv/lib/gbkext_inv.h 345 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gbkext_inv.h', 438, 420 ] 346 silly gunzTarPerm extractEntry deps/libiconv/lib/genaliases.c 347 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/genaliases.c', 438, 420 ] 348 silly gunzTarPerm extractEntry deps/libiconv/lib/genaliases2.c 349 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/genaliases2.c', 438, 420 ] 350 silly gunzTarPerm extractEntry deps/libiconv/lib/genflags.c 351 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/genflags.c', 438, 420 ] 352 silly gunzTarPerm extractEntry deps/libiconv/lib/gentranslit.c 353 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/gentranslit.c', 438, 420 ] 354 silly gunzTarPerm extractEntry deps/libiconv/lib/georgian_academy.h 355 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/georgian_academy.h', 438, 420 ] 356 silly gunzTarPerm extractEntry deps/libiconv/lib/georgian_ps.h 357 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/georgian_ps.h', 438, 420 ] 358 silly gunzTarPerm extractEntry deps/libiconv/lib/hkscs1999.h 359 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/hkscs1999.h', 438, 420 ] 360 silly gunzTarPerm extractEntry deps/libiconv/lib/hkscs2001.h 361 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/hkscs2001.h', 438, 420 ] 362 silly gunzTarPerm extractEntry deps/libiconv/lib/hkscs2004.h 363 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/hkscs2004.h', 438, 420 ] 364 silly gunzTarPerm extractEntry deps/libiconv/lib/hkscs2008.h 365 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/hkscs2008.h', 438, 420 ] 366 silly gunzTarPerm extractEntry deps/libiconv/lib/hp_roman8.h 367 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/hp_roman8.h', 438, 420 ] 368 silly gunzTarPerm extractEntry deps/libiconv/lib/hz.h 369 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/hz.h', 438, 420 ] 370 silly gunzTarPerm extractEntry deps/libiconv/lib/iconv.c 371 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iconv.c', 438, 420 ] 372 silly gunzTarPerm extractEntry deps/libiconv/lib/iconv_open1.h 373 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iconv_open1.h', 438, 420 ] 374 silly gunzTarPerm extractEntry deps/libiconv/lib/iconv_open2.h 375 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iconv_open2.h', 438, 420 ] 376 silly gunzTarPerm extractEntry deps/libiconv/lib/iso2022_cn.h 377 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso2022_cn.h', 438, 420 ] 378 silly gunzTarPerm extractEntry deps/libiconv/lib/iso2022_cnext.h 379 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso2022_cnext.h', 438, 420 ] 380 silly gunzTarPerm extractEntry deps/libiconv/lib/iso2022_jp.h 381 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso2022_jp.h', 438, 420 ] 382 silly gunzTarPerm extractEntry deps/libiconv/lib/iso2022_jp1.h 383 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso2022_jp1.h', 438, 420 ] 384 silly gunzTarPerm extractEntry deps/libiconv/lib/iso2022_jp2.h 385 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso2022_jp2.h', 438, 420 ] 386 silly gunzTarPerm extractEntry deps/libiconv/lib/iso2022_jp3.h 387 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso2022_jp3.h', 438, 420 ] 388 silly gunzTarPerm extractEntry deps/libiconv/lib/iso2022_kr.h 389 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso2022_kr.h', 438, 420 ] 390 silly gunzTarPerm extractEntry deps/libiconv/lib/iso646_cn.h 391 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso646_cn.h', 438, 420 ] 392 silly gunzTarPerm extractEntry deps/libiconv/lib/iso646_jp.h 393 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso646_jp.h', 438, 420 ] 394 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_1.h 395 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_1.h', 438, 420 ] 396 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_10.h 397 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_10.h', 438, 420 ] 398 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_11.h 399 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_11.h', 438, 420 ] 400 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_13.h 401 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_13.h', 438, 420 ] 402 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_14.h 403 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_14.h', 438, 420 ] 404 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_15.h 405 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_15.h', 438, 420 ] 406 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_16.h 407 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_16.h', 438, 420 ] 408 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_2.h 409 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_2.h', 438, 420 ] 410 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_3.h 411 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_3.h', 438, 420 ] 412 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_4.h 413 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_4.h', 438, 420 ] 414 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_5.h 415 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_5.h', 438, 420 ] 416 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_6.h 417 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_6.h', 438, 420 ] 418 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_7.h 419 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_7.h', 438, 420 ] 420 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_8.h 421 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_8.h', 438, 420 ] 422 silly gunzTarPerm extractEntry deps/libiconv/lib/iso8859_9.h 423 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/iso8859_9.h', 438, 420 ] 424 silly gunzTarPerm extractEntry deps/libiconv/lib/isoir165.h 425 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/isoir165.h', 438, 420 ] 426 silly gunzTarPerm extractEntry deps/libiconv/lib/isoir165ext.h 427 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/isoir165ext.h', 438, 420 ] 428 silly gunzTarPerm extractEntry deps/libiconv/lib/java.h 429 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/java.h', 438, 420 ] 430 silly gunzTarPerm extractEntry deps/libiconv/lib/jisx0201.h 431 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/jisx0201.h', 438, 420 ] 432 silly gunzTarPerm extractEntry deps/libiconv/lib/jisx0208.h 433 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/jisx0208.h', 438, 420 ] 434 silly gunzTarPerm extractEntry deps/libiconv/lib/jisx0212.h 435 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/jisx0212.h', 438, 420 ] 436 silly gunzTarPerm extractEntry deps/libiconv/lib/jisx0213.h 437 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/jisx0213.h', 438, 420 ] 438 silly gunzTarPerm extractEntry deps/libiconv/lib/johab.h 439 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/johab.h', 438, 420 ] 440 silly gunzTarPerm extractEntry deps/libiconv/lib/johab_hangul.h 441 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/johab_hangul.h', 438, 420 ] 442 silly gunzTarPerm extractEntry deps/libiconv/lib/koi8_r.h 443 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/koi8_r.h', 438, 420 ] 444 silly gunzTarPerm extractEntry deps/libiconv/lib/koi8_ru.h 445 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/koi8_ru.h', 438, 420 ] 446 silly gunzTarPerm extractEntry deps/libiconv/lib/koi8_t.h 447 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/koi8_t.h', 438, 420 ] 448 silly gunzTarPerm extractEntry deps/libiconv/lib/koi8_u.h 449 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/koi8_u.h', 438, 420 ] 450 silly gunzTarPerm extractEntry deps/libiconv/lib/ksc5601.h 451 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ksc5601.h', 438, 420 ] 452 silly gunzTarPerm extractEntry deps/libiconv/lib/loop_unicode.h 453 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/loop_unicode.h', 438, 420 ] 454 silly gunzTarPerm extractEntry deps/libiconv/lib/loop_wchar.h 455 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/loop_wchar.h', 438, 420 ] 456 silly gunzTarPerm extractEntry deps/libiconv/lib/loops.h 457 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/loops.h', 438, 420 ] 458 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_arabic.h 459 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_arabic.h', 438, 420 ] 460 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_centraleurope.h 461 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_centraleurope.h', 438, 420 ] 462 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_croatian.h 463 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_croatian.h', 438, 420 ] 464 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_cyrillic.h 465 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_cyrillic.h', 438, 420 ] 466 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_greek.h 467 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_greek.h', 438, 420 ] 468 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_hebrew.h 469 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_hebrew.h', 438, 420 ] 470 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_iceland.h 471 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_iceland.h', 438, 420 ] 472 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_roman.h 473 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_roman.h', 438, 420 ] 474 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_romania.h 475 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_romania.h', 438, 420 ] 476 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_thai.h 477 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_thai.h', 438, 420 ] 478 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_turkish.h 479 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_turkish.h', 438, 420 ] 480 silly gunzTarPerm extractEntry deps/libiconv/lib/mac_ukraine.h 481 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mac_ukraine.h', 438, 420 ] 482 silly gunzTarPerm extractEntry deps/libiconv/lib/mulelao.h 483 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/mulelao.h', 438, 420 ] 484 silly gunzTarPerm extractEntry deps/libiconv/lib/nextstep.h 485 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/nextstep.h', 438, 420 ] 486 silly gunzTarPerm extractEntry deps/libiconv/lib/pt154.h 487 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/pt154.h', 438, 420 ] 488 silly gunzTarPerm extractEntry deps/libiconv/lib/relocatable.c 489 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/relocatable.c', 438, 420 ] 490 silly gunzTarPerm extractEntry deps/libiconv/lib/relocatable.h 491 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/relocatable.h', 438, 420 ] 492 silly gunzTarPerm extractEntry deps/libiconv/lib/riscos1.h 493 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/riscos1.h', 438, 420 ] 494 silly gunzTarPerm extractEntry deps/libiconv/lib/rk1048.h 495 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/rk1048.h', 438, 420 ] 496 silly gunzTarPerm extractEntry deps/libiconv/lib/shift_jisx0213.h 497 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/shift_jisx0213.h', 438, 420 ] 498 silly gunzTarPerm extractEntry deps/libiconv/lib/sjis.h 499 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/sjis.h', 438, 420 ] 500 silly gunzTarPerm extractEntry deps/libiconv/lib/tcvn.h 501 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/tcvn.h', 438, 420 ] 502 silly gunzTarPerm extractEntry deps/libiconv/lib/tds565.h 503 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/tds565.h', 438, 420 ] 504 silly gunzTarPerm extractEntry deps/libiconv/lib/tis620.h 505 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/tis620.h', 438, 420 ] 506 silly gunzTarPerm extractEntry deps/libiconv/lib/translit.def 507 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/translit.def', 438, 420 ] 508 silly gunzTarPerm extractEntry deps/libiconv/lib/translit.h 509 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/translit.h', 438, 420 ] 510 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs2.h 511 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs2.h', 438, 420 ] 512 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs2be.h 513 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs2be.h', 438, 420 ] 514 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs2internal.h 515 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs2internal.h', 438, 420 ] 516 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs2le.h 517 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs2le.h', 438, 420 ] 518 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs2swapped.h 519 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs2swapped.h', 438, 420 ] 520 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs4.h 521 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs4.h', 438, 420 ] 522 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs4be.h 523 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs4be.h', 438, 420 ] 524 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs4internal.h 525 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs4internal.h', 438, 420 ] 526 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs4le.h 527 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs4le.h', 438, 420 ] 528 silly gunzTarPerm extractEntry deps/libiconv/lib/ucs4swapped.h 529 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/ucs4swapped.h', 438, 420 ] 530 silly gunzTarPerm extractEntry deps/libiconv/lib/uhc_1.h 531 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/uhc_1.h', 438, 420 ] 532 silly gunzTarPerm extractEntry deps/libiconv/lib/uhc_2.h 533 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/uhc_2.h', 438, 420 ] 534 silly gunzTarPerm extractEntry deps/libiconv/lib/utf16.h 535 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/utf16.h', 438, 420 ] 536 silly gunzTarPerm extractEntry deps/libiconv/lib/utf16be.h 537 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/utf16be.h', 438, 420 ] 538 silly gunzTarPerm extractEntry deps/libiconv/lib/utf16le.h 539 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/utf16le.h', 438, 420 ] 540 silly gunzTarPerm extractEntry deps/libiconv/lib/utf32.h 541 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/utf32.h', 438, 420 ] 542 silly gunzTarPerm extractEntry deps/libiconv/lib/utf32be.h 543 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/utf32be.h', 438, 420 ] 544 silly gunzTarPerm extractEntry deps/libiconv/lib/utf32le.h 545 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/utf32le.h', 438, 420 ] 546 silly gunzTarPerm extractEntry deps/libiconv/lib/utf7.h 547 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/utf7.h', 438, 420 ] 548 silly gunzTarPerm extractEntry deps/libiconv/lib/utf8.h 549 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/utf8.h', 438, 420 ] 550 silly gunzTarPerm extractEntry deps/libiconv/lib/vietcomb.h 551 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/vietcomb.h', 438, 420 ] 552 silly gunzTarPerm extractEntry deps/libiconv/lib/viscii.h 553 silly gunzTarPerm modified mode [ 'deps/libiconv/lib/viscii.h', 438, 420 ] 554 silly gunzTarPerm extractEntry deps/libiconv/src/iconv.c 555 silly gunzTarPerm modified mode [ 'deps/libiconv/src/iconv.c', 438, 420 ] 556 silly gunzTarPerm extractEntry deps/libiconv/src/iconv_no_i18n.c 557 silly gunzTarPerm modified mode [ 'deps/libiconv/src/iconv_no_i18n.c', 438, 420 ] 558 silly gunzTarPerm extractEntry lib/iconv.js 559 silly gunzTarPerm modified mode [ 'lib/iconv.js', 438, 420 ] 560 silly gunzTarPerm extractEntry src/binding.cc 561 silly gunzTarPerm modified mode [ 'src/binding.cc', 438, 420 ] 562 silly gunzTarPerm extractEntry support/config.h 563 silly gunzTarPerm modified mode [ 'support/config.h', 438, 420 ] 564 silly gunzTarPerm extractEntry support/iconv.h 565 silly gunzTarPerm modified mode [ 'support/iconv.h', 438, 420 ] 566 silly gunzTarPerm extractEntry test/test-basic.js 567 silly gunzTarPerm modified mode [ 'test/test-basic.js', 438, 420 ] 568 silly gunzTarPerm extractEntry test/test-big-buffer.js 569 silly gunzTarPerm modified mode [ 'test/test-big-buffer.js', 438, 420 ] 570 silly gunzTarPerm extractEntry test/test-stream.js 571 silly gunzTarPerm modified mode [ 'test/test-stream.js', 438, 420 ] 572 silly gunzTarPerm extractEntry test/fixtures/lorem-ipsum.txt 573 silly gunzTarPerm modified mode [ 'test/fixtures/lorem-ipsum.txt', 438, 420 ] 574 silly lockFile 12d4d841-eJsServer-src-node-modules-iconv tar://D:\dev\workspace\nodeJsServer\src\node_modules\iconv 575 silly lockFile 12d4d841-eJsServer-src-node-modules-iconv tar://D:\dev\workspace\nodeJsServer\src\node_modules\iconv 576 silly lockFile 51d678f1-pm-cache-iconv-2-1-4-package-tgz tar://C:\Users\SM\AppData\Roaming\npm-cache\iconv\2.1.4\package.tgz 577 silly lockFile 51d678f1-pm-cache-iconv-2-1-4-package-tgz tar://C:\Users\SM\AppData\Roaming\npm-cache\iconv\2.1.4\package.tgz 578 info preinstall iconv@2.1.4 579 verbose readDependencies using package.json deps 580 verbose readDependencies using package.json deps 581 verbose cache add [ 'nan@~1.1.1', null ] 582 verbose cache add name=undefined spec="nan@~1.1.1" args=["nan@~1.1.1",null] 583 verbose parsed url { protocol: null, 583 verbose parsed url slashes: null, 583 verbose parsed url auth: null, 583 verbose parsed url host: null, 583 verbose parsed url port: null, 583 verbose parsed url hostname: null, 583 verbose parsed url hash: null, 583 verbose parsed url search: null, 583 verbose parsed url query: null, 583 verbose parsed url pathname: 'nan@~1.1.1', 583 verbose parsed url path: 'nan@~1.1.1', 583 verbose parsed url href: 'nan@~1.1.1' } 584 verbose cache add name="nan" spec="~1.1.1" args=["nan","~1.1.1"] 585 verbose parsed url { protocol: null, 585 verbose parsed url slashes: null, 585 verbose parsed url auth: null, 585 verbose parsed url host: null, 585 verbose parsed url port: null, 585 verbose parsed url hostname: null, 585 verbose parsed url hash: null, 585 verbose parsed url search: null, 585 verbose parsed url query: null, 585 verbose parsed url pathname: '~1.1.1', 585 verbose parsed url path: '~1.1.1', 585 verbose parsed url href: '~1.1.1' } 586 verbose addNamed [ 'nan', '~1.1.1' ] 587 verbose addNamed [ null, '>=1.1.1-0 <1.2.0-0' ] 588 silly lockFile 02cc762c-nan-1-1-1 nan@~1.1.1 589 verbose lock nan@~1.1.1 C:\Users\SM\AppData\Roaming\npm-cache\02cc762c-nan-1-1-1.lock 590 silly addNameRange { name: 'nan', range: '>=1.1.1-0 <1.2.0-0', hasData: false } 591 verbose url raw nan 592 verbose url resolving [ 'https://registry.npmjs.org/', './nan' ] 593 verbose url resolved https://registry.npmjs.org/nan 594 info trying registry request attempt 1 at 14:31:22 595 verbose etag "5BYMDXP63NAXJ1QSKMNKT61L8" 596 http GET https://registry.npmjs.org/nan 597 http 304 https://registry.npmjs.org/nan 598 silly registry.get cb [ 304, 598 silly registry.get { date: 'Fri, 16 Jan 2015 05:31:12 GMT', 598 silly registry.get server: 'Apache', 598 silly registry.get via: '1.1 varnish', 598 silly registry.get 'last-modified': 'Fri, 16 Jan 2015 05:30:37 GMT', 598 silly registry.get 'cache-control': 'max-age=60', 598 silly registry.get etag: '"5BYMDXP63NAXJ1QSKMNKT61L8"', 598 silly registry.get age: '19', 598 silly registry.get 'x-served-by': 'cache-ty67-TYO', 598 silly registry.get 'x-cache': 'HIT', 598 silly registry.get 'x-cache-hits': '2', 598 silly registry.get 'x-timer': 'S1421386272.788639,VS0,VE0', 598 silly registry.get vary: 'Accept', 598 silly registry.get 'content-length': '0', 598 silly registry.get 'keep-alive': 'timeout=10, max=50', 598 silly registry.get connection: 'Keep-Alive' } ] 599 verbose etag nan from cache 600 silly addNameRange number 2 { name: 'nan', range: '>=1.1.1-0 <1.2.0-0', hasData: true } 601 silly addNameRange versions [ 'nan', 601 silly addNameRange [ '0.3.0-wip', 601 silly addNameRange '0.3.0-wip2', 601 silly addNameRange '0.3.0', 601 silly addNameRange '0.3.1', 601 silly addNameRange '0.3.2', 601 silly addNameRange '0.4.0', 601 silly addNameRange '0.4.1', 601 silly addNameRange '0.4.2', 601 silly addNameRange '0.4.3', 601 silly addNameRange '0.4.4', 601 silly addNameRange '0.5.0', 601 silly addNameRange '0.5.1', 601 silly addNameRange '0.5.2', 601 silly addNameRange '0.6.0', 601 silly addNameRange '0.7.0', 601 silly addNameRange '0.7.1', 601 silly addNameRange '0.8.0', 601 silly addNameRange '1.0.0', 601 silly addNameRange '1.1.0', 601 silly addNameRange '1.1.1', 601 silly addNameRange '1.1.2', 601 silly addNameRange '1.2.0', 601 silly addNameRange '1.3.0', 601 silly addNameRange '1.4.0', 601 silly addNameRange '1.4.1', 601 silly addNameRange '1.5.0', 601 silly addNameRange '1.4.2', 601 silly addNameRange '1.4.3', 601 silly addNameRange '1.5.1' ] ] 602 verbose addNamed [ 'nan', '1.1.2' ] 603 verbose addNamed [ '1.1.2', '1.1.2' ] 604 silly lockFile 60c82d82-nan-1-1-2 nan@1.1.2 605 verbose lock nan@1.1.2 C:\Users\SM\AppData\Roaming\npm-cache\60c82d82-nan-1-1-2.lock 606 silly lockFile 60c82d82-nan-1-1-2 nan@1.1.2 607 silly lockFile 60c82d82-nan-1-1-2 nan@1.1.2 608 silly lockFile 02cc762c-nan-1-1-1 nan@~1.1.1 609 silly lockFile 02cc762c-nan-1-1-1 nan@~1.1.1 610 silly resolved [ { name: 'nan', 610 silly resolved version: '1.1.2', 610 silly resolved description: 'Native Abstractions for Node.js: C++ header for Node 0.8->0.12 compatibility', 610 silly resolved main: 'includedirs.js', 610 silly resolved repository: { type: 'git', url: 'git://github.com/rvagg/nan.git' }, 610 silly resolved contributors: [ [Object], [Object], [Object], [Object], [Object], [Object] ], 610 silly resolved license: 'MIT', 610 silly resolved readme: 'Native Abstractions for Node.js\n===============================\n\nA 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\nCurrent version: 1.1.2* (See nan.h for complete ChangeLog)\n\n \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 inspectNODE_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\n * Usage\n * Example\n * API\n\n\n## News & Updates\n\n### May-2014: 1.1.0 release\n\n* We\'ve deprecatedNanSymbol()
, you should just useNanNew<String>()
now.\n*NanNull()
,NanUndefined()
,NanTrue()
,NanFalse()
all returnLocal
s now.\n*nan_isolate
is gone, it was intended to be internal-only but if you were using it then you should switch tov8::Isolate::GetCurrent()
.\n*NanNew()
has received some additional overload-love so you should be able to give it many kinds of values without specifying the<Type>
.\n* Lots of small fixes and additions to expand the V8 API coverage, use the source, Luke.\n\n\n### May-2014: 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. 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 has put many hours in to. We now have a fantastic newNanNew<T>(args)
interface for creating newLocal
s, this replacesNanNewLocal()
and much more. If you look in ./nan.h you\'ll see a large number of overloaded versions of this method. In general you should be able toNanNew<Type>(arguments)
for any type you want to make aLocal
from. This includesPersistent
types, so we now have aLocal<T> NanNew(const Persistent<T> arg)
to replaceNanPersistentToLocal()
.\n\nWe also now haveNanUndefined()
,NanNull()
,NanTrue()
andNanFalse()
. Mainly because of the new requirement for anIsolate
argument for each of the native V8 versions of this.\n\nV8 has now introduced anEscapableHandleScope
from which youscope.Escape(Local<T> value)
to return a value from a one scope to another. This replaces the standardHandleScope
andscope.Close(Local<T> value)
, althoughHandleScope
still exists for when you don\'t need to return a handle to the caller. For NAN we are exposing it asNanEscapableScope()
andNanEscapeScope()
, whileNanScope()
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 olderHandleScope
functionality.\n\nNanFromV8String()
was deprecated and has now been removed. You should useNanCString()
orNanRawString()
instead.\n\nBecausenode::MakeCallback()
now takes anIsolate
, and because it doesn\'t exist in older versions of Node, we\'ve introducedNanMakeCallback()
. 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 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 byNanFromV8String
until now. NanCString has sensible defaults so it\'s super easy to fetch a null-terminated c-style string out of av8::String
.NanFromV8String
is still around and has defaults that allow you to pass a single handle to fetch achar*
whileNanRawString
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 newLocal
s to:v8::Local<T>::New(isolate, value)
, i.e. introducing theisolate
argument and therefore breaking all newLocal
declarations for previous versions. NAN 0.6+ now includes aNanNewLocal<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 anull
on a callback you will have to change the argument fromv8::Local<v8::Value>::New(v8::Null())
toNanNewLocal<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 aroundrequire
to be just right:"require(\'nan\')"
with appropriate\\
escaping).\n\n\n## Usage\n\nSimply add NAN as a dependency in the package.json of your Node addon:\n\nbash\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\npython\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\n## Example\n\nSee LevelDOWN for a full example of NAN in use.\n\nFor a simpler example, see the async pi estimation example 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 repository and also a 0.11 version of the same found here.\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 theNanAsyncWorker
class.\n\nc++\n// addon.cc\n#include <node.h>\n#include <nan.h>\n// ...\n\nusing v8::FunctionTemplate;\nusing v8::Handle;\nusing v8::Object;\nusing v8::String;\n\nvoid InitAll(Handle<Object> exports) {\n exports->Set(NanNew<String>("calculateSync"),\n NanNew<FunctionTemplate>(CalculateSync)->GetFunction());\n\n exports->Set(NanNew<String>("calculateAsync"),\n NanNew<FunctionTemplate>(CalculateAsync)->GetFunction());\n}\n\nNODE_MODULE(addon, InitAll)\n
\n\nc++\n// sync.h\n#include <node.h>\n#include <nan.h>\n\nNAN_METHOD(CalculateSync);\n
\n\nc++\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\nc++\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 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\n## API\n\n *NAN_METHOD
\n *NAN_GETTER
\n *NAN_SETTER
\n *NAN_PROPERTY_GETTER
\n *NAN_PROPERTY_SETTER
\n *NAN_PROPERTY_ENUMERATOR
\n *NAN_PROPERTY_DELETER
\n *NAN_PROPERTY_QUERY
\n *NAN_INDEX_GETTER
\n *NAN_INDEX_SETTER
\n *NAN_INDEX_ENUMERATOR
\n *NAN_INDEX_DELETER
\n *NAN_INDEX_QUERY
\n *NAN_WEAK_CALLBACK
\n *NAN_DEPRECATED
\n *NAN_INLINE
\n *NanNew
\n *NanUndefined
\n *NanNull
\n *NanTrue
\n *NanFalse
\n *NanReturnValue
\n *NanReturnUndefined
\n *NanReturnNull
\n *NanReturnEmptyString
\n *NanScope
\n *NanEscapableScope
\n *NanEscapeScope
\n *NanLocker
\n *NanUnlocker
\n *NanGetInternalFieldPointer
\n *NanSetInternalFieldPointer
\n *NanObjectWrapHandle
\n *\n *NanSymbol
NanGetPointerSafe
\n *NanSetPointerSafe
\n *NanRawString
\n *NanCString
\n *NanBooleanOptionValue
\n *NanUInt32OptionValue
\n *NanError
,NanTypeError
,NanRangeError
\n *NanThrowError
,NanThrowTypeError
,NanThrowRangeError
,NanThrowError(Handle)
,NanThrowError(Handle, int)
\n *NanNewBufferHandle(char _, size_t, FreeCallback, void )
,NanNewBufferHandle(char , uint32_t)
,NanNewBufferHandle(uint32_t)
\n *NanBufferUse(char , uint32_t)
\n *NanNewContextHandle
\n *NanGetCurrentContext
\n *NanHasInstance
\n *NanDisposePersistent
\n *NanAssignPersistent
\n *NanMakeWeakPersistent
\n *NanSetTemplate
\n *NanMakeCallback
\n *NanCompileScript
\n *NanRunScript
\n *NanAdjustExternalMemory
\n *NanAddGCEpilogueCallback
\n *NanAddGCPrologueCallback
\n *NanRemoveGCEpilogueCallback
\n *NanRemoveGCPrologueCallback
\n *NanGetHeapStatistics
\n *NanCallback
\n *NanAsyncWorker
\n *NanAsyncQueueWorker
\n\n\n### NAN_METHOD(methodname)\n\nUseNAN_METHOD
to define your V8 accessible methods:\n\nc++\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\nc++\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 ofFunctionCallbackInfo
brings additional complications:\n\n\n### NAN_GETTER(methodname)\n\nUseNAN_GETTER
to declare your V8 accessible getters. You get aLocal<String>
property
and an appropriately typedargs
object that can act like theargs
argument to aNAN_METHOD
call.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_GETTER
.\n\n\n### NAN_SETTER(methodname)\n\nUseNAN_SETTER
to declare your V8 accessible setters. Same asNAN_GETTER
but you also get aLocal<Value>
value
object to work with.\n\n\n### NAN_PROPERTY_GETTER(cbname)\nUseNAN_PROPERTY_GETTER
to declare your V8 accessible property getters. You get aLocal<String>
property
and an appropriately typedargs
object that can act similar to theargs
argument to aNAN_METHOD
call.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_PROPERTY_GETTER
.\n\n\n### NAN_PROPERTY_SETTER(cbname)\nUseNAN_PROPERTY_SETTER
to declare your V8 accessible property setters. Same asNAN_PROPERTY_GETTER
but you also get aLocal<Value>
value
object to work with.\n\n\n### NAN_PROPERTY_ENUMERATOR(cbname)\nUseNAN_PROPERTY_ENUMERATOR
to declare your V8 accessible property enumerators. You get an appropriately typedargs
object like theargs
argument to aNAN_PROPERTY_GETTER
call.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_PROPERTY_ENUMERATOR
.\n\n\n### NAN_PROPERTY_DELETER(cbname)\nUseNAN_PROPERTY_DELETER
to declare your V8 accessible property deleters. Same asNAN_PROPERTY_GETTER
.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_PROPERTY_DELETER
.\n\n\n### NAN_PROPERTY_QUERY(cbname)\nUseNAN_PROPERTY_QUERY
to declare your V8 accessible property queries. Same asNAN_PROPERTY_GETTER
.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_PROPERTY_QUERY
.\n\n\n### NAN_INDEX_GETTER(cbname)\nUseNAN_INDEX_GETTER
to declare your V8 accessible index getters. You get auint32_t
index
and an appropriately typedargs
object that can act similar to theargs
argument to aNAN_METHOD
call.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_INDEX_GETTER
.\n\n\n### NAN_INDEX_SETTER(cbname)\nUseNAN_INDEX_SETTER
to declare your V8 accessible index setters. Same asNAN_INDEX_GETTER
but you also get aLocal<Value>
value
object to work with.\n\n\n### NAN_INDEX_ENUMERATOR(cbname)\nUseNAN_INDEX_ENUMERATOR
to declare your V8 accessible index enumerators. You get an appropriately typedargs
object like theargs
argument to aNAN_INDEX_GETTER
call.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_INDEX_ENUMERATOR
.\n\n\n### NAN_INDEX_DELETER(cbname)\nUseNAN_INDEX_DELETER
to declare your V8 accessible index deleters. Same asNAN_INDEX_GETTER
.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_INDEX_DELETER
.\n\n\n### NAN_INDEX_QUERY(cbname)\nUseNAN_INDEX_QUERY
to declare your V8 accessible index queries. Same asNAN_INDEX_GETTER
.\n\nYou can useNanReturnNull()
,NanReturnEmptyString()
,NanReturnUndefined()
andNanReturnValue()
in aNAN_INDEX_QUERY
.\n\n\n### NAN_WEAK_CALLBACK(cbname)\n\nUseNAN_WEAK_CALLBACK
to define your V8 WeakReference callbacks. Do not use for declaration. There is an argument objectconst _NanWeakCallbackData<T, P> &data
allowing access to the weak object and the supplied parameter through itsGetValue
andGetParameter
methods. You can even access the weak callback info object through theGetCallbackInfo()
method, but you probably should not.Revive()
keeps the weak object alive until the next GC round.\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 }\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<T> NanNew<T>( ... )\n\nUse
NanNewto construct almost all v8 objects and make new local handles.\n\n
c++\nLocal