TooTallNate / node-ogg

Node.js native binding to libogg
MIT License
65 stars 36 forks source link

npm install ogg fails #3

Closed base698 closed 11 years ago

base698 commented 11 years ago

i686-apple-darwin11-llvm-g++-4.2: ./Release/ogg.node: No such file or directory make: *\ [Release/ogg.node] 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:219:23) gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:91:17) gyp ERR! stack at Process._handle.onexit (child_process.js:674:10) gyp ERR! System Darwin 11.4.2 gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

base698 commented 11 years ago

npm: 1.1.59 node: 0.8.8

TooTallNate commented 11 years ago

Can you paste the entire stack including the command you used to install?

base698 commented 11 years ago

0 info it worked if it ends with ok 1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'install', 'ogg' ] 2 info using npm@1.1.59 3 info using node@v0.8.8 4 verbose read json /Users/justinthomas/package.json 5 verbose read json /Users/justinthomas/package.json 6 verbose cache add [ 'ogg', null ] 7 silly cache add name=undefined spec="ogg" args=["ogg",null] 8 verbose parsed url { pathname: 'ogg', path: 'ogg', href: 'ogg' } 9 silly lockFile 8402bdd2-ogg ogg 10 verbose lock ogg /Users/justinthomas/.npm/8402bdd2-ogg.lock 11 silly lockFile 8402bdd2-ogg ogg 12 verbose addNamed [ 'ogg', '' ] 13 verbose addNamed [ null, '' ] 14 silly lockFile e4727a64-ogg ogg@ 15 verbose lock ogg@ /Users/justinthomas/.npm/e4727a64-ogg.lock 16 silly addNameRange { name: 'ogg', range: '', hasData: false } 17 verbose url raw ogg 18 verbose url resolving [ 'https://registry.npmjs.org/', './ogg' ] 19 verbose url resolved https://registry.npmjs.org/ogg 20 info retry registry request attempt 1 at 20:55:18 21 verbose etag "56P95MS5I6J7W2XN062UVHLWU" 22 http GET https://registry.npmjs.org/ogg 23 http 304 https://registry.npmjs.org/ogg 24 silly registry.get cb [ 304, 24 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B)', 24 silly registry.get etag: '"56P95MS5I6J7W2XN062UVHLWU"', 24 silly registry.get date: 'Wed, 13 Feb 2013 04:53:22 GMT', 24 silly registry.get 'content-length': '0' } ] 25 verbose etag ogg from cache 26 silly addNameRange number 2 { name: 'ogg', range: '', hasData: true } 27 silly addNameRange versions [ 'ogg', [ '0.0.1' ] ] 28 verbose addNamed [ 'ogg', '0.0.1' ] 29 verbose addNamed [ '0.0.1', '0.0.1' ] 30 silly lockFile c35ffc08-ogg-0-0-1 ogg@0.0.1 31 verbose lock ogg@0.0.1 /Users/justinthomas/.npm/c35ffc08-ogg-0-0-1.lock 32 verbose read json /Users/justinthomas/.npm/ogg/0.0.1/package/package.json 33 silly lockFile c35ffc08-ogg-0-0-1 ogg@0.0.1 34 silly lockFile e4727a64-ogg ogg@ 35 silly resolved [ { name: 'ogg', 35 silly resolved description: 'NodeJS native binding to libogg', 35 silly resolved keywords: [ 'ogg', 'libogg', 'encode', 'decode', 'stream' ], 35 silly resolved version: '0.0.1', 35 silly resolved author: 35 silly resolved { name: 'Nathan Rajlich', 35 silly resolved email: 'nathan@tootallnate.net', 35 silly resolved url: 'http://tootallnate.net' }, 35 silly resolved repository: 35 silly resolved { type: 'git', 35 silly resolved url: 'git://github.com/TooTallNate/node-ogg.git' }, 35 silly resolved main: './index.js', 35 silly resolved dependencies: { bindings: '', debug: '', 'readable-stream': '~0.0.3' }, 35 silly resolved devDependencies: { mocha: '_' }, 35 silly resolved scripts: { test: 'mocha --reporter spec', install: 'node-gyp rebuild' }, 35 silly resolved gypfile: true, 35 silly resolved readme: 'node-ogg\n========\n### NodeJS native binding to libogg\n\nThis module provides a Writable stream interface for decoding ogg files, and a\nReadable stream for encoding oggfiles. libogg only provides the interfaces for\nmultiplexing the various streams embedding into an ogg file (and vice versa),\ntherefore this module must be used in conjunction with a node-ogg compatible\nstream module, like node-vorbis, node-theora, or node-flac.\n\n\nInstallation\n------------\n\nnode-ogg comes bundled with its own copy of libogg, so\nthere\'s no need to have the library pre-installed on your system.\n\nSimply compile and install node-ogg using npm:\n\nbash\n$ npm install ogg\n\n\n\nExample\n-------\n\nHere\'s an example of using the Decoder class with a dummy OGG StreamDecoder\nthat simply console.log()s information about each "page" emitted from each OGG\nstream:\n\njavascript\nvar ogg = require(\'ogg\');\nvar file = __dirname + \'/Hydrate-Kenny_Beltrey.ogg\';\n\nvar decoder = new ogg.Decoder();\ndecoder.on(\'stream\', function (stream) {\n console.log(stream.serialno);\n stream.on(\'page\', function (page, done) {\n console.log(page.bytes);\n done();\n });\n});\n\n\nSee the examples directory for some more example code.\n\nAPI\n---\n\n### Decoder class\n\nThe Decoder class is a Writable stream that accepts an OGG file written to\nit, and emits "stream" events when a new stream is encountered, which you must\nlisten for and attach an OGG StreamDecoder instance to, like node-vorbis for\na stream containing Vorbis audio data.\n\n### Encoder class\n\nThe Encoder class is a Readable stream where you attach OGG StreamEncoder\ninstances to the stream, and it outputs a valid OGG file.\n', 35 silly resolved _id: 'ogg@0.0.1', 35 silly resolved _from: 'ogg' } ] 36 info install ogg@0.0.1 into /Users/justinthomas 37 info installOne ogg@0.0.1 38 verbose from cache /Users/justinthomas/.npm/ogg/0.0.1/package/package.json 39 info /Users/justinthomas/node_modules/ogg unbuild 40 verbose read json /Users/justinthomas/node_modules/ogg/package.json 41 verbose tar unpack /Users/justinthomas/.npm/ogg/0.0.1/package.tgz 42 silly lockFile 46856f38-rs-justinthomas-node-modules-ogg /Users/justinthomas/node_modules/ogg 43 verbose lock /Users/justinthomas/node_modules/ogg /Users/justinthomas/.npm/46856f38-rs-justinthomas-node-modules-ogg.lock 44 silly gunzTarPerm modes [ '777', '666' ] 45 silly gunzTarPerm extractEntry package.json 46 silly gunzTarPerm extractEntry .npmignore 47 silly gunzTarPerm extractEntry README.md 48 silly gunzTarPerm extractEntry index.js 49 silly gunzTarPerm extractEntry t.js 50 silly gunzTarPerm extractEntry binding.gyp 51 silly gunzTarPerm extractEntry deps/libogg/README 52 silly gunzTarPerm extractEntry deps/libogg/libogg.gyp 53 silly gunzTarPerm extractEntry deps/libogg/CHANGES 54 silly gunzTarPerm extractEntry deps/libogg/compile 55 silly gunzTarPerm extractEntry deps/libogg/config/README 56 silly gunzTarPerm extractEntry deps/libogg/config/linux/x64/ogg/config.h 57 silly gunzTarPerm extractEntry deps/libogg/config/linux/x64/ogg/config_types.h 58 silly gunzTarPerm extractEntry deps/libogg/config/mac/ia32/ogg/config.h 59 silly gunzTarPerm extractEntry deps/libogg/config/mac/ia32/ogg/config_types.h 60 silly gunzTarPerm extractEntry deps/libogg/config/mac/x64/ogg/config.h 61 silly gunzTarPerm extractEntry deps/libogg/config/mac/x64/ogg/config_types.h 62 silly gunzTarPerm extractEntry deps/libogg/config.guess 63 silly gunzTarPerm extractEntry deps/libogg/config.h.in 64 silly gunzTarPerm extractEntry deps/libogg/config.sub 65 silly gunzTarPerm extractEntry deps/libogg/configure 66 silly gunzTarPerm extractEntry deps/libogg/configure.in 67 silly gunzTarPerm extractEntry deps/libogg/COPYING 68 silly gunzTarPerm extractEntry deps/libogg/depcomp 69 silly gunzTarPerm extractEntry deps/libogg/doc/rfc3533.txt 70 silly gunzTarPerm extractEntry deps/libogg/doc/framing.html 71 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_reset_serialno.html 72 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/bitpacking.html 73 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/decoding.html 74 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/encoding.html 75 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/general.html 76 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/index.html 77 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/Makefile.am 78 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/Makefile.in 79 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_packet.html 80 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_packet_clear.html 81 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page.html 82 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_bos.html 83 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_checksum_set.html 84 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_continued.html 85 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_eos.html 86 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_granulepos.html 87 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_packets.html 88 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_pageno.html 89 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_serialno.html 90 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_page_version.html 91 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_clear.html 92 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_destroy.html 93 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_eos.html 94 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_flush.html 95 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_init.html 96 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_packetin.html 97 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_packetout.html 98 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_packetpeek.html 99 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_pagein.html 100 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_pageout.html 101 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_pageout_fill.html 102 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_reset.html 103 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/datastructures.html 104 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_stream_state.html 105 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_buffer.html 106 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_clear.html 107 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_destroy.html 108 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_init.html 109 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_pageout.html 110 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_pageseek.html 111 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_reset.html 112 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_state.html 113 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/ogg_sync_wrote.html 114 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_adv.html 115 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_adv1.html 116 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_bits.html 117 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_buffer.html 118 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_bytes.html 119 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_get_buffer.html 120 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_look.html 121 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_look1.html 122 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_read.html 123 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_read1.html 124 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_readinit.html 125 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_reset.html 126 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_write.html 127 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_writealign.html 128 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_writeclear.html 129 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_writecopy.html 130 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_writeinit.html 131 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/oggpack_writetrunc.html 132 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/overview.html 133 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/reference.html 134 silly gunzTarPerm extractEntry deps/libogg/doc/libogg/style.css 135 silly gunzTarPerm extractEntry deps/libogg/doc/Makefile.am 136 silly gunzTarPerm extractEntry deps/libogg/doc/Makefile.in 137 silly gunzTarPerm extractEntry deps/libogg/doc/ogg-multiplex.html 138 silly gunzTarPerm extractEntry deps/libogg/doc/oggstream.html 139 silly gunzTarPerm extractEntry deps/libogg/doc/index.html 140 silly gunzTarPerm extractEntry deps/libogg/doc/rfc5334.txt 141 silly gunzTarPerm extractEntry deps/libogg/doc/skeleton.html 142 silly gunzTarPerm extractEntry deps/libogg/doc/stream.png 143 silly gunzTarPerm extractEntry deps/libogg/doc/vorbisword2.png 144 silly gunzTarPerm extractEntry deps/libogg/doc/white-ogg.png 145 silly gunzTarPerm extractEntry deps/libogg/doc/white-xifish.png 146 silly gunzTarPerm extractEntry deps/libogg/include/Makefile.am 147 silly gunzTarPerm extractEntry deps/libogg/include/Makefile.in 148 silly gunzTarPerm extractEntry deps/libogg/include/ogg/config_types.h.in 149 silly gunzTarPerm extractEntry deps/libogg/include/ogg/Makefile.am 150 silly gunzTarPerm extractEntry deps/libogg/include/ogg/Makefile.in 151 silly gunzTarPerm extractEntry deps/libogg/include/ogg/ogg.h 152 silly gunzTarPerm extractEntry deps/libogg/include/ogg/os_types.h 153 silly gunzTarPerm extractEntry deps/libogg/install-sh 154 silly gunzTarPerm extractEntry deps/libogg/AUTHORS 155 silly gunzTarPerm extractEntry deps/libogg/libogg.spec 156 silly gunzTarPerm extractEntry deps/libogg/libogg.spec.in 157 silly gunzTarPerm extractEntry deps/libogg/ltmain.sh 158 silly gunzTarPerm extractEntry deps/libogg/macosx/English.lproj/InfoPlist.strings 159 silly gunzTarPerm extractEntry deps/libogg/macosx/Info.plist 160 silly gunzTarPerm extractEntry deps/libogg/macosx/Ogg.xcodeproj/project.pbxproj 161 silly gunzTarPerm extractEntry deps/libogg/macosx/Ogg_Prefix.pch 162 silly gunzTarPerm extractEntry deps/libogg/Makefile.am 163 silly gunzTarPerm extractEntry deps/libogg/Makefile.in 164 silly gunzTarPerm extractEntry deps/libogg/missing 165 silly gunzTarPerm extractEntry deps/libogg/ogg-uninstalled.pc.in 166 silly gunzTarPerm extractEntry deps/libogg/ogg.m4 167 silly gunzTarPerm extractEntry deps/libogg/ogg.pc.in 168 silly gunzTarPerm extractEntry deps/libogg/aclocal.m4 169 silly gunzTarPerm extractEntry deps/libogg/src/bitwise.c 170 silly gunzTarPerm extractEntry deps/libogg/src/framing.c 171 silly gunzTarPerm extractEntry deps/libogg/src/Makefile.am 172 silly gunzTarPerm extractEntry deps/libogg/src/Makefile.in 173 silly gunzTarPerm extractEntry deps/libogg/test.c 174 silly gunzTarPerm extractEntry deps/libogg/win32/ogg.def 175 silly gunzTarPerm extractEntry deps/libogg/win32/VS2003/libogg/libogg.vcproj 176 silly gunzTarPerm extractEntry deps/libogg/win32/VS2003/ogg.sln 177 silly gunzTarPerm extractEntry deps/libogg/win32/VS2005/libogg_dynamic.sln 178 silly gunzTarPerm extractEntry deps/libogg/win32/VS2005/libogg_dynamic.vcproj 179 silly gunzTarPerm extractEntry deps/libogg/win32/VS2005/libogg_static.sln 180 silly gunzTarPerm extractEntry deps/libogg/win32/VS2005/libogg_static.vcproj 181 silly gunzTarPerm extractEntry deps/libogg/win32/VS2008/libogg_dynamic.sln 182 silly gunzTarPerm extractEntry deps/libogg/win32/VS2008/libogg_dynamic.vcproj 183 silly gunzTarPerm extractEntry deps/libogg/win32/VS2008/libogg_static.sln 184 silly gunzTarPerm extractEntry deps/libogg/win32/VS2008/libogg_static.vcproj 185 silly gunzTarPerm extractEntry deps/libogg/win32/VS2010/libogg_dynamic.sln 186 silly gunzTarPerm extractEntry deps/libogg/win32/VS2010/libogg_dynamic.vcxproj 187 silly gunzTarPerm extractEntry deps/libogg/win32/VS2010/libogg_static.sln 188 silly gunzTarPerm extractEntry deps/libogg/win32/VS2010/libogg_static.vcxproj 189 silly gunzTarPerm extractEntry deps/libogg/win32/VS6/build_ogg_dynamic.bat 190 silly gunzTarPerm extractEntry deps/libogg/win32/VS6/build_ogg_dynamic_debug.bat 191 silly gunzTarPerm extractEntry deps/libogg/win32/VS6/build_ogg_static.bat 192 silly gunzTarPerm extractEntry deps/libogg/win32/VS6/build_ogg_static_debug.bat 193 silly gunzTarPerm extractEntry deps/libogg/win32/VS6/ogg.dsw 194 silly gunzTarPerm extractEntry deps/libogg/win32/VS6/ogg_dynamic.dsp 195 silly gunzTarPerm extractEntry deps/libogg/win32/VS6/ogg_static.dsp 196 silly gunzTarPerm extractEntry History.md 197 silly gunzTarPerm extractEntry lib/asyncEmit.js 198 silly gunzTarPerm extractEntry lib/decoder.js 199 silly gunzTarPerm extractEntry src/binding.cc 200 silly gunzTarPerm extractEntry src/node_pointer.h 201 verbose read json /Users/justinthomas/node_modules/ogg/package.json 202 silly lockFile 46856f38-rs-justinthomas-node-modules-ogg /Users/justinthomas/node_modules/ogg 203 info preinstall ogg@0.0.1 204 verbose from cache /Users/justinthomas/node_modules/ogg/package.json 205 verbose readDependencies using package.json deps 206 verbose from cache /Users/justinthomas/nodemodules/ogg/package.json 207 verbose readDependencies using package.json deps 208 verbose cache add [ 'bindings@', null ] 209 silly cache add name=undefined spec="bindings@" args=["bindings@",null] 210 verbose parsed url { pathname: 'bindings@', 210 verbose parsed url path: 'bindings@', 210 verbose parsed url href: 'bindings@' } 211 silly cache add name="bindings" spec="" args=["bindings",""] 212 verbose parsed url { pathname: '', path: '', href: '' } 213 verbose addNamed [ 'bindings', '' ] 214 verbose addNamed [ null, '' ] 215 silly lockFile a3858fc2-bindings bindings@ 216 verbose lock bindings@* /Users/justinthomas/.npm/a3858fc2-bindings.lock 217 verbose cache add [ 'debug@', null ] 218 silly cache add name=undefined spec="debug@" args=["debug@",null] 219 verbose parsed url { pathname: 'debug@', path: 'debug@', href: 'debug@' } 220 silly cache add name="debug" spec="" args=["debug",""] 221 verbose parsed url { pathname: '', path: '', href: '' } 222 verbose addNamed [ 'debug', '' ] 223 verbose addNamed [ null, '' ] 224 silly lockFile 3ac45eff-debug debug@ 225 verbose lock debug@* /Users/justinthomas/.npm/3ac45eff-debug.lock 226 silly addNameRange { name: 'bindings', range: '', hasData: false } 227 silly addNameRange { name: 'debug', range: '', hasData: false } 228 verbose cache add [ 'readable-stream@~0.0.3', null ] 229 silly cache add name=undefined spec="readable-stream@~0.0.3" args=["readable-stream@~0.0.3",null] 230 verbose parsed url { pathname: 'readable-stream@~0.0.3', 230 verbose parsed url path: 'readable-stream@~0.0.3', 230 verbose parsed url href: 'readable-stream@~0.0.3' } 231 silly cache add name="readable-stream" spec="~0.0.3" args=["readable-stream","~0.0.3"] 232 verbose parsed url { pathname: '~0.0.3', path: '~0.0.3', href: '~0.0.3' } 233 verbose addNamed [ 'readable-stream', '~0.0.3' ] 234 verbose addNamed [ null, '>=0.0.3- <0.1.0-' ] 235 silly lockFile 23464c83-readable-stream-0-0-3 readable-stream@~0.0.3 236 verbose lock readable-stream@~0.0.3 /Users/justinthomas/.npm/23464c83-readable-stream-0-0-3.lock 237 verbose url raw bindings 238 verbose url resolving [ 'https://registry.npmjs.org/', './bindings' ] 239 verbose url resolved https://registry.npmjs.org/bindings 240 info retry registry request attempt 1 at 20:55:19 241 verbose etag "AJP945UWQI28AMS5Q0GDA9P9H" 242 http GET https://registry.npmjs.org/bindings 243 verbose url raw debug 244 verbose url resolving [ 'https://registry.npmjs.org/', './debug' ] 245 verbose url resolved https://registry.npmjs.org/debug 246 info retry registry request attempt 1 at 20:55:19 247 verbose etag "F4GH2C82MY5ML28AQB26PT4QK" 248 http GET https://registry.npmjs.org/debug 249 silly addNameRange { name: 'readable-stream', 249 silly addNameRange range: '>=0.0.3- <0.1.0-', 249 silly addNameRange hasData: false } 250 verbose url raw readable-stream 251 verbose url resolving [ 'https://registry.npmjs.org/', './readable-stream' ] 252 verbose url resolved https://registry.npmjs.org/readable-stream 253 info retry registry request attempt 1 at 20:55:19 254 verbose etag "4U1XRXK44F5KFDPEDNSW263ZV" 255 http GET https://registry.npmjs.org/readable-stream 256 http 304 https://registry.npmjs.org/bindings 257 silly registry.get cb [ 304, 257 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B)', 257 silly registry.get etag: '"AJP945UWQI28AMS5Q0GDA9P9H"', 257 silly registry.get date: 'Wed, 13 Feb 2013 04:53:23 GMT', 257 silly registry.get 'content-length': '0' } ] 258 verbose etag bindings from cache 259 silly addNameRange number 2 { name: 'bindings', range: '', hasData: true } 260 silly addNameRange versions [ 'bindings', 260 silly addNameRange [ '0.0.1', 260 silly addNameRange '0.1.0', 260 silly addNameRange '0.1.1', 260 silly addNameRange '0.2.0', 260 silly addNameRange '0.2.1', 260 silly addNameRange '0.2.2', 260 silly addNameRange '0.2.3', 260 silly addNameRange '0.2.4', 260 silly addNameRange '0.3.0', 260 silly addNameRange '0.4.0', 260 silly addNameRange '1.0.0' ] ] 261 verbose addNamed [ 'bindings', '1.0.0' ] 262 verbose addNamed [ '1.0.0', '1.0.0' ] 263 silly lockFile f01e5454-bindings-1-0-0 bindings@1.0.0 264 verbose lock bindings@1.0.0 /Users/justinthomas/.npm/f01e5454-bindings-1-0-0.lock 265 verbose read json /Users/justinthomas/.npm/bindings/1.0.0/package/package.json 266 silly lockFile f01e5454-bindings-1-0-0 bindings@1.0.0 267 silly lockFile a3858fc2-bindings bindings@ 268 http 304 https://registry.npmjs.org/debug 269 silly registry.get cb [ 304, 269 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B)', 269 silly registry.get etag: '"F4GH2C82MY5ML28AQB26PT4QK"', 269 silly registry.get date: 'Wed, 13 Feb 2013 04:53:23 GMT', 269 silly registry.get 'content-length': '0' } ] 270 verbose etag debug from cache 271 silly addNameRange number 2 { name: 'debug', range: '', hasData: true } 272 silly addNameRange versions [ 'debug', 272 silly addNameRange [ '0.0.1', 272 silly addNameRange '0.1.0', 272 silly addNameRange '0.2.0', 272 silly addNameRange '0.3.0', 272 silly addNameRange '0.4.0', 272 silly addNameRange '0.4.1', 272 silly addNameRange '0.5.0', 272 silly addNameRange '0.6.0', 272 silly addNameRange '0.7.0', 272 silly addNameRange '0.7.1', 272 silly addNameRange '0.7.2' ] ] 273 verbose addNamed [ 'debug', '0.7.2' ] 274 verbose addNamed [ '0.7.2', '0.7.2' ] 275 silly lockFile 432e5064-debug-0-7-2 debug@0.7.2 276 verbose lock debug@0.7.2 /Users/justinthomas/.npm/432e5064-debug-0-7-2.lock 277 verbose read json /Users/justinthomas/.npm/debug/0.7.2/package/package.json 278 silly lockFile 432e5064-debug-0-7-2 debug@0.7.2 279 silly lockFile 3ac45eff-debug debug@ 280 http 304 https://registry.npmjs.org/readable-stream 281 silly registry.get cb [ 304, 281 silly registry.get { server: 'CouchDB/1.2.1 (Erlang OTP/R15B)', 281 silly registry.get etag: '"4U1XRXK44F5KFDPEDNSW263ZV"', 281 silly registry.get date: 'Wed, 13 Feb 2013 04:53:23 GMT', 281 silly registry.get 'content-length': '0' } ] 282 verbose etag readable-stream from cache 283 silly addNameRange number 2 { name: 'readable-stream', 283 silly addNameRange range: '>=0.0.3- <0.1.0-', 283 silly addNameRange hasData: true } 284 silly addNameRange versions [ 'readable-stream', 284 silly addNameRange [ '0.0.1', '0.0.2', '0.0.3', '0.0.4', '0.1.0', '0.2.0' ] ] 285 verbose addNamed [ 'readable-stream', '0.0.4' ] 286 verbose addNamed [ '0.0.4', '0.0.4' ] 287 silly lockFile eeba31bf-readable-stream-0-0-4 readable-stream@0.0.4 288 verbose lock readable-stream@0.0.4 /Users/justinthomas/.npm/eeba31bf-readable-stream-0-0-4.lock 289 verbose read json /Users/justinthomas/.npm/readable-stream/0.0.4/package/package.json 290 silly lockFile eeba31bf-readable-stream-0-0-4 readable-stream@0.0.4 291 silly lockFile 23464c83-readable-stream-0-0-3 readable-stream@~0.0.3 292 silly resolved [ { name: 'bindings', 292 silly resolved description: 'Helper module for loading your native module\'s .node file', 292 silly resolved keywords: [ 'native', 'addon', 'bindings', 'gyp', 'waf', 'c', 'c++' ], 292 silly resolved version: '1.0.0', 292 silly resolved author: 292 silly resolved { name: 'Nathan Rajlich', 292 silly resolved email: 'nathan@tootallnate.net', 292 silly resolved url: 'http://tootallnate.net' }, 292 silly resolved repository: 292 silly resolved { type: 'git', 292 silly resolved url: 'git://github.com/TooTallNate/node-bindings.git' }, 292 silly resolved main: './bindings.js', 292 silly resolved readme: 'node-bindings\n=============\n### Helper module for loading your native module\'s .node file\n\nThis is a helper module for authors of Node.js native addon modules.\nIt is basically the "swiss army knife" of require()ing your native module\'s\n.node file.\n\nThroughout the course of Node\'s native addon history, addons have ended up being\ncompiled in a variety of different places, depending on which build tool and which\nversion of node was used. To make matters worse, now the gyp build tool can\nproduce either a Release or Debug build, each being built into different\nlocations.\n\nThis module checks all the possible locations that a native addon would be built\nat, and returns the first one that loads successfully.\n\n\nInstallation\n------------\n\nInstall with npm:\n\nbash\n$ npm install bindings\n\n\nOr add it to the "dependencies" section of your package.json file.\n\n\nExample\n-------\n\nrequire()ing the proper bindings file for the current node version, platform\nand architecture is as simple as:\n\njs\nvar bindings = require(\'bindings\')(\'binding.node\')\n\n// Use your bindings defined in your C files\nbindings.your_c_function()\n\n\n\nNice Error Output\n-----------------\n\nWhen the .node file could not be loaded, node-bindings throws an Error with\na nice error message telling you exactly what was tried. You can also check the\nerr.tries Array property.\n\n``\nError: Could not load the bindings file. Tried:\n → /Users/nrajlich/ref/build/binding.node\n → /Users/nrajlich/ref/build/Debug/binding.node\n → /Users/nrajlich/ref/build/Release/binding.node\n → /Users/nrajlich/ref/out/Debug/binding.node\n → /Users/nrajlich/ref/Debug/binding.node\n → /Users/nrajlich/ref/out/Release/binding.node\n → /Users/nrajlich/ref/Release/binding.node\n → /Users/nrajlich/ref/build/default/binding.node\n → /Users/nrajlich/ref/compiled/0.8.2/darwin/x64/binding.node\n at bindings (/Users/nrajlich/ref/node_modules/bindings/bindings.js:84:13)\n at Object.<anonymous> (/Users/nrajlich/ref/lib/ref.js:5:47)\n at Module._compile (module.js:449:26)\n at Object.Module._extensions..js (module.js:467:10)\n at Module.load (module.js:356:32)\n at Function.Module._load (module.js:312:12)\n ...\n\n\n\nLicense\n-------\n\n(The MIT License)\n\nCopyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net>\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n', 292 silly resolved _id: 'bindings@1.0.0', 292 silly resolved _from: 'bindings@' }, 292 silly resolved { name: 'debug', 292 silly resolved version: '0.7.2', 292 silly resolved repository: { type: 'git', url: 'git://github.com/visionmedia/debug.git' }, 292 silly resolved description: 'small debugging utility', 292 silly resolved keywords: [ 'debug', 'log', 'debugger' ], 292 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' }, 292 silly resolved dependencies: {}, 292 silly resolved devDependencies: { mocha: '' }, 292 silly resolved main: 'lib/debug.js', 292 silly resolved browserify: 'debug.js', 292 silly resolved engines: { node: '' }, 292 silly resolved component: { scripts: [Object] }, 292 silly resolved readme: '\n# debug\n\n tiny node.js debugging utility modelled after node core\'s debugging technique.\n\n## Installation\n\n\n$ npm install debug\n```\n\n## Usage\n\n Withdebugyou simply invoke the exported function to generate your debug function, passing it a name which will determine if a noop function is returned, or a decoratedconsole.error, so all of theconsoleformat string goodies you\'re used to work fine. A unique color is selected per-function for visibility.\n \nExample _app.js_:\n\njs\nvar debug = require(\'debug\')(\'http\')\n , http = require(\'http\')\n , name = \'My App\';\n\n// fake app\n\ndebug(\'booting %s\', name);\n\nhttp.createServer(function(req, res){\n debug(req.method + \' \' + req.url);\n res.end(\'hello\n\');\n}).listen(3000, function(){\n debug(\'listening\');\n});\n\n// fake worker of some kind\n\nrequire(\'./worker\');\n\n\nExample _worker.js_:\n\njs\nvar debug = require(\'debug\')(\'worker\');\n\nsetInterval(function(){\n debug(\'doing some work\');\n}, 1000);\n\n\n The **DEBUG** environment variable is then used to enable these based on space or comma-delimited names. Here are some examples:\n\n ![debug http and worker](http://f.cl.ly/items/18471z1H402O24072r1J/Screenshot.png)\n\n ![debug worker](http://f.cl.ly/items/1X413v1a3M0d3C2c1E0i/Screenshot.png)\n\n## Millisecond diff\n\n When actively developing an application it can be useful to see when the time spent between onedebug()call and the next. Suppose for example you invokedebug()before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.\n\n ![](http://f.cl.ly/items/2i3h1d3t121M2Z1A3Q0N/Screenshot.png)\n\n When stdout is not a TTY,Date#toUTCString()is used, making it more useful for logging the debug information as shown below:\n \n ![](http://f.cl.ly/items/112H3i0e0o0P0a2Q2r11/Screenshot.png)\n\n## Conventions\n\n If you\'re using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser". \n\n## Wildcards\n\n The "_" character may be used as a wildcard. Suppose for example your library has debuggers named "connect:bodyParser", "connect:compress", "connect:session", instead of listing all three withDEBUG=connect:bodyParser,connect.compress,connect:session, you may simply doDEBUG=connect:, or to run everything using this module simply useDEBUG=.\n\n You can also exclude specific debuggers by prefixing them with a "-" character. For example,DEBUG= -connect:would include all debuggers except those starting with "connect:".\n\n## Browser support\n\n Debug works in the browser as well, currently persisted bylocalStorage. For example if you haveworker:aandworker:bas shown below, and wish to debug both typedebug.enable(\'worker:_\')in the console and refresh the page, this will remain until you disable withdebug.disable(). \n\n``js\na = debug(\'worker:a\');\nb = debug(\'worker:b\');\n\nsetInterval(function(){\n a(\'doing some work\');\n}, 1000);\n\nsetInterval(function(){\n a(\'doing some work\');\n}, 1200);\n``\n\n## License \n\n(The MIT License)\n\nCopyright (c) 2011 TJ Holowaychuk &lt;tj@vision-media.ca&gt;\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\'Software\'), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \'AS IS\', WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.', 292 silly resolved _id: 'debug@0.7.2', 292 silly resolved _from: 'debug@*' }, 292 silly resolved { name: 'readable-stream', 292 silly resolved version: '0.0.4', 292 silly resolved description: 'An exploration of a new kind of readable streams for Node.js', 292 silly resolved main: 'readable.js', 292 silly resolved dependencies: {}, 292 silly resolved devDependencies: { tap: '~0.2.6' }, 292 silly resolved scripts: { test: 'tap test/simple/*.js' }, 292 silly resolved repository: { type: 'git', url: 'git://github.com/isaacs/readable-stream' }, 292 silly resolved keywords: [ 'readable', 'stream', 'pipe' ], 292 silly resolved author: 292 silly resolved { name: 'Isaac Z. Schlueter', 292 silly resolved email: 'i@izs.me', 292 silly resolved url: 'http://blog.izs.me/' }, 292 silly resolved license: 'BSD', 292 silly resolved readme: '# readable-stream\n\n Stability: 1 - Experimental\n\nA new kind of readable streams for Node.js\n\nThis is an abstract class designed to be extended. It also provides a\nwrapmethod that you can use to provide the simpler readable API for\nstreams that have the "readable stream" interface of Node 0.8 and\nbefore.\n\nNote that Duplex, Transform, Writable, and PassThrough streams are also\nprovided as base classes. See the full API details below.\n\n## Justification\n\n<!-- misc -->\n\nWritable streams in node are relatively straightforward to use and\nextend. Thewritemethod either returnsfalseif you would like\nthe user to back off a bit, in which case adrainevent at some\npoint in the future will let them continue writing, or anything other\nthan false if the bytes could be completely handled and another\nwriteshould be performed, or Theend()method lets the user\nindicate that no more bytes will be written. That\'s pretty much the\nentire required interface for writing.\n\nHowever, readable streams in Node 0.8 and before are rather\ncomplicated.\n\n1. Thedataevents start coming right away, no matter what. There\n is no way to do other actions before consuming data, without\n handling buffering yourself.\n2. If you extend the interface in userland programs, then you must\n implementpause()andresume()methods, and take care of\n buffering yourself.\n3. In many streams,pause()was purely advisory, so **even while\n paused**, you still have to be careful that you might get some\n data. This caused a lot of subtle b ugs.\n\nSo, while writers only have to implementwrite(),end(), and\ndrain, readers have to implement (at minimum):\n\n*pause()method\n*resume()method\n*dataevent\n*endevent\n\nAnd read consumers had to always be prepared for their backpressure\nadvice to simply be ignored.\n\nIf you are using a readable stream, and want to just get the first 10\nbytes, make a decision, and then pass the rest off to somewhere else,\nthen you have to handle buffering, pausing, slicing, and so on. This\nis all rather brittle and easy to get wrong for all but the most\ntrivial use cases.\n\nAdditionally, this all made thereader.pipe(writer)method\nunnecessarily complicated and difficult to extend without breaking\nsomething. Backpressure and error handling is especially challenging\nand brittle.\n\n### Solution\n\n<!-- misc -->\n\nThe reader does not have pause/resume methods. If you want to consume\nthe bytes, you callread(). If bytes are not being consumed, then\neffectively the stream is in a paused state. It exerts backpressure\non upstream connections, doesn\'t read from files, etc. Any data that\nwas already in the process of being read will be placed in a buffer.\n\nIfread()returnsnull, then a futurereadableevent will be\nfired when there are more bytes ready to be consumed.\n\nThis is simpler and conceptually closer to the underlying mechanisms.\nThe resultingpipe()method is much shorter and simpler. The\nproblems of data events happening while paused are alleviated.\n\n### Compatibility\n\n<!-- misc -->\n\nIt\'s not particularly difficult to wrap old-style streams in this\nnew interface, or to wrap this type of stream in the old-style\ninterface.\n\nTheReadableclass provides awrap(oldStream)method that takes an\nargument which is an old-style stream withdataevents andpause()\nandresume()methods, and uses that as the data source. For\nexample:\n\n``javascript\nvar r = new Readable();\nr.wrap(oldReadableStream);\n\n// now you can use r.read(), and it will emit \'readable\' events\n// but the data is based on whatever oldReadableStream spits out of\n// its \'data\' events.\n``\n\nIn order to work with programs that use the old interface, some\nmagic is unfortunately required. At some point in the future, this\nmagic will be removed.\n\nTheReadableclass will automatically convert into an old-style\ndata-emitting stream if any listeners are added to thedataevent.\nSo, this works fine, though you of course lose a lot of the benefits of\nthe new interface:\n\n``javascript\nvar r = new ReadableThing();\n\nr.on(\'data\', function(chunk) {\n // ...\n // magic is happening! oh no! the animals are walking upright!\n // the brooms are sweeping the floors all by themselves!\n});\n\n// this will also turn on magic-mode:\nr.pause();\n\n// now pause, resume, etc. are patched into place, and r will\n// continually call read() until it returns null, emitting the\n// returned chunks in \'data\' events.\n\nr.on(\'end\', function() {\n // ...\n});\n``\n\n## Class: Readable\n\nA base class for implementing Readable streams. Override the\n_read(n,cb)method to fetch data asynchronously and take advantage\nof the buffering built into the Readable class.\n\n### Example\n\nExtend the Readable class, and provide a_read(n,cb)implementation\nmethod.\n\n``javascript\nvar Readable = require(\'readable-stream\');\nvar util = require(\'util\');\n\nutil.inherits(MyReadable, Readable);\n\nfunction MyReadable(options) {\n Readable.call(this, options);\n}\n\nMyReadable.prototype._read = function(n, cb) {\n // your magic goes here.\n // call the cb at some time in the future with either up to n bytes,\n // or an error, like cb(err, resultData)\n //\n // The code in the Readable class will call this to keep an internal\n // buffer at a healthy level, as the user calls var chunk=stream.read(n)\n // to consume chunks.\n};\n\nvar r = new MyReadable();\n\nr.on(\'end\', function() {\n // no more bytes will be provided.\n});\n\nr.on(\'readable\', function() {\n // now is the time to call read() again.\n});\n\n// to get some bytes out of it:\nvar data = r.read(optionalLengthArgument);\n// now data is either null, or a buffer of optionalLengthArgument\n// length. If you don\'t provide an argument, then it returns whatever\n// it has.\n\n// typically you\'d just r.pipe() into some writable stream, but you\n// can of course do stuff like this, as well:\nfunction flow() {\n var chunk;\n while (null !== (chunk = r.read())) {\n doSomethingWithData(chunk);\n }\n r.once(\'readable\', flow);\n}\nflow();\n``\n\n### new Readable(options)\n\n*options{Object}\n *lowWaterMark{Number} The minimum number of bytes before the\n stream is considered \'readable\'. Default =0\n *bufferSize{Number} The number of bytes to try to read from the\n underlying_readfunction. Default =16 * 1024\n\nMake sure to call theReadableconstructor in your extension\nclasses, or else the stream will not be properly initialized.\n\n### readable.read([size])\n\n*size{Number} Optional number of bytes to read. If not provided,\n then return however many bytes are available.\n* Returns: {Buffer | null}\n\nPulls the requested number of bytes out of the internal buffer. If\nthat many bytes are not available, then it returnsnull.\n\n### readable.\\_read(size, callback)\n\n*size{Number} Number of bytes to read from the underlying\n asynchronous data source.\n*callback{Function} Callback function\n *error{Error Object}\n *data{Buffer | null}\n\n**Note: This function is not implemented in the Readable base class.**\nRather, it is up to you to implement_readin your extension\nclasses.\n\n_readshould fetch the specified number of bytes, and call the\nprovided callback withcb(error, data), whereerroris any error\nencountered, anddatais the returned data.\n\nThis method is prefixed with an underscore because it is internal to\nthe class that defines it, and should not be called directly by user\nprograms. However, you **are** expected to override this method in\nyour own extension classes.\n\nThesizeargument is purely advisory. You may call the callback\nwith more or fewer bytes. However, if you call the callback with\nnull, or an empty buffer, then it will assume that the end of the\ndata was reached.\n\n### readable.pipe(destination)\n\n*destination{Writable Stream object}\n\nContinuallyread()data out of the readable stream, andwrite()it\ninto the writable stream. When thewritable.write(chunk)call\nreturnsfalse, then it will back off until the nextdrainevent,\nto do backpressure.\n\nPiping to multiple destinations is supported. The slowest destination\nstream will limit the speed of thepipe()flow.\n\nNote that this puts the readable stream into a state where not very\nmuch can be done with it. You can no longerread()from the stream\nin other code, without upsetting the pipe() process. However, since\nmultiple pipe destinations are supported, you can always create a\nPassThroughstream, and pipe the reader to that. For example:\n\n``\nvar r = new ReadableWhatever();\nvar pt = new PassThrough();\n\nr.pipe(someWritableThing);\nr.pipe(pt);\n\n// now I can call pt.read() to my heart\'s content.\n// note that if I *don\'t* call pt.read(), then it\'ll back up and\n// prevent the pipe() from flowing!\n``\n\n### readable.unpipe([destination])\n\n*destination{Writable Stream object} Optional\n\nRemove the provideddestinationstream from the pipe flow. If no\nargument is provided, then it will unhook all piped destinations.\n\n### readable.on(\'readable\')\n\nAn event that signals more data is now available to be read from the\nstream. Emitted when more data arrives, after previously calling\nread()and getting a null result.\n\n### readable.on(\'end\')\n\nAn event that signals that no more data will ever be available on this\nstream. It\'s over.\n\n### readable.\\_readableState\n\n* {Object}\n\nAn object that tracks the state of the stream. Buffer information,\nwhether or not it has reached the end of the underlying data source,\netc., are all tracked on this object.\n\nYou are strongly encouraged not to modify this in any way, but it is\noften useful to read from.\n\n## Class: Writable\n\nA base class for creating Writable streams. Similar to Readable, you\ncan create child classes by overriding the asynchronous\n_write(chunk,cb)method, and it will take care of buffering,\nbackpressure, and so on.\n\n### new Writable(options)\n\n*options{Object}\n *highWaterMark{Number} The number of bytes to store up before it\n starts returningfalsefrom write() calls. Default =16 * 1024\n *lowWaterMark{Number} The number of bytes that the buffer must\n get down to before it emitsdrain. Default =1024\n\nMake sure to call theWritableconstructor in your extension\nclasses, or else the stream will not be properly initialized.\n\n### writable.write(chunk, [encoding])\n\n*chunk{Buffer | String}\n*encoding{String} An encoding argument to turn the string chunk\n into a buffer. Only relevant ifchunkis a string.\n Default =\'utf8\'.\n* Returnsfalseif you should not write until the nextdrain\n event, or some other value otherwise.\n\nThe basic write function.\n\n### writable.\\_write(chunk, callback)\n\n*chunk{Buffer}\n*callback{Function}\n *error{Error | null} Call with an error object as the first\n argument to indicate that the write() failed for unfixable\n reasons.\n\n**Note: This function is not implemented in the Writable base class.**\nRather, it is up to you to implement_writein your extension\nclasses.\n\n_writeshould do whatever has to be done in this specific Writable\nclass, to handle the bytes being written. Write to a file, send along\na socket, encrypt as an mp3, whatever needs to be done. Do your I/O\nasynchronously, and call the callback when it\'s complete.\n\nThis method is prefixed with an underscore because it is internal to\nthe class that defines it, and should not be called directly by user\nprograms. However, you **are** expected to override this method in\nyour own extension classes.\n\n### writable.end([chunk], [encoding])\n\n*chunk{Buffer | String}\n*encoding{String}\n\nIf a chunk (and, optionally, an encoding) are provided, then that\nchunk is first passed tothis.write(chunk, encoding).\n\nThis method is a way to signal to the writable stream that you will\nnot be writing any more data. It should be called exactly once for\nevery writable stream.\n\nCallingwrite()*after* callingend()will trigger an error.\n\n### writable.on(\'pipe\', source)\n\nEmitted when callingsource.pipe(writable). See above for the\ndescription of thereadable.pipe()method.\n\n### writable.on(\'unpipe\', source)\n\nEmitted when callingsource.unpipe(writable). See above for the\ndescription of thereadable.unpipe()method.\n\n### writable.on(\'drain\')\n\nIf a call towritable.write()returns false, then at some point in\nthe future, this event will tell you to start writing again.\n\n### writable.on(\'finish\')\n\nWhen the stream has been ended, and all the data in its internal\nbuffer has been consumed, then it emits afinishevent to let you\nknow that it\'s completely done.\n\nThis is particularly handy if you want to know when it is safe to shut\ndown a socket or close a file descriptor. At this time, the writable\nstream may be safely disposed. Its mission in life has been\naccomplished.\n\n## Class: Duplex\n\nA base class for Duplex streams (ie, streams that are both readable\nand writable).\n\nSince JS doesn\'t have multiple prototypal inheritance, this class\nprototypally inherits from Readable, and then parasitically from\nWritable. It is thus up to the user to implement both the lowlevel\n_read(n,cb)method as well as the lowlevel_write(chunk,cb)\nmethod on extension duplex classes.\n\nFor cases where the written data is transformed into the output, it\nmay be simpler to use theTransformclass instead.\n\n### new Duplex(options)\n\n*options{Object} Passed to both the Writable and Readable\n constructors.\n\nMake sure to call theDuplexconstructor in your extension\nclasses, or else the stream will not be properly initialized.\n\nIfoptions.allowHalfOpenis set to the valuefalse, then the\nstream will automatically end the readable side when the writable\nside ends, and vice versa.\n\n### duplex.allowHalfOpen\n\n* {Boolean} Default =true\n\nSet this flag to eithertrueorfalseto determine whether or not\nto automatically close the writable side when the readable side ends,\nand vice versa.\n\n\n## Class: Transform\n\nA duplex (ie, both readable and writable) stream that is designed to\nmake it easy to implement transform operations such as encryption,\ndecryption, compression, and so on.\n\nTransform streams areinstanceofReadable, but they have all of the\nmethods and properties of both Readable and Writable streams. See\nabove for the list of events and methods that Transform inherits from\nWritable and Readable.\n\nOverride the_transform(chunk, outputFunction, callback)method in\nyour implementation classes to take advantage of it.\n\n### new Transform(options)\n\n*options{Object} Passed to both the Writable and Readable\n constructors.\n\nMake sure to call theTransformconstructor in your extension\nclasses, or else the stream will not be properly initialized.\n\n### transform.\\_transform(chunk, outputFn, callback)\n\n*chunk{Buffer} The chunk to be transformed.\n*outputFn{Function} Call this function with any output data to be\n passed to the readable interface.\n*callback{Function} Call this function (optionally with an error\n argument) when you are done processing the supplied chunk.\n\n**Note: This function is not implemented in the Transform base class.**\nRather, it is up to you to implement_transformin your extension\nclasses.\n\n_transformshould do whatever has to be done in this specific\nTransform class, to handle the bytes being written, and pass them off\nto the readable portion of the interface. Do asynchronous I/O,\nprocess things, and so on.\n\nCall the callback function only when the current chunk is completely\nconsumed. Note that this may mean that you call theoutputFnzero\nor more times, depending on how much data you want to output as a\nresult of this chunk.\n\nThis method is prefixed with an underscore because it is internal to\nthe class that defines it, and should not be called directly by user\nprograms. However, you **are** expected to override this method in\nyour own extension classes.\n\n### transform.\\_flush(outputFn, callback)\n\n*outputFn{Function} Call this function with any output data to be\n passed to the readable interface.\n*callback{Function} Call this function (optionally with an error\n argument) when you are done flushing any remaining data.\n\n**Note: This function is not implemented in the Transform base class.**\nRather, it is up to you to implement_flushin your extension\nclasses optionally, if it applies to your use case.\n\nIn some cases, your transform operation may need to emit a bit more\ndata at the end of the stream. For example, aZlibcompression\nstream will store up some internal state so that it can optimally\ncompress the output. At the end, however, it needs to do the best it\ncan with what is left, so that the data will be complete.\n\nIn those cases, you can implement a_flushmethod, which will be\ncalled at the very end, after all the written data is consumed, but\nbefore emittingendto signal the end of the readable side. Just\nlike with_transform, calloutputFnzero or more times, as\nappropriate, and callcallbackwhen the flush operation is complete.\n\nThis method is prefixed with an underscore because it is internal to\nthe class that defines it, and should not be called directly by user\nprograms. However, you **are** expected to override this method in\nyour own extension classes.\n\n\n## Class: PassThrough\n\nThis is a trivial implementation of aTransformstream that simply\npasses the input bytes across to the output. Its purpose is mainly\nfor examples and testing, but there are occasionally use cases where\nit can come in handy.\n', 292 silly resolved _id: 'readable-stream@0.0.4', 292 silly resolved _from: 'readable-stream@~0.0.3' } ] 293 info install bindings@1.0.0 into /Users/justinthomas/node_modules/ogg 294 info install debug@0.7.2 into /Users/justinthomas/node_modules/ogg 295 info install readable-stream@0.0.4 into /Users/justinthomas/node_modules/ogg 296 info installOne bindings@1.0.0 297 info installOne debug@0.7.2 298 info installOne readable-stream@0.0.4 299 verbose from cache /Users/justinthomas/.npm/bindings/1.0.0/package/package.json 300 verbose from cache /Users/justinthomas/.npm/debug/0.7.2/package/package.json 301 verbose from cache /Users/justinthomas/.npm/readable-stream/0.0.4/package/package.json 302 info /Users/justinthomas/node_modules/ogg/node_modules/bindings unbuild 303 verbose read json /Users/justinthomas/node_modules/ogg/node_modules/bindings/package.json 304 info /Users/justinthomas/node_modules/ogg/node_modules/debug unbuild 305 verbose read json /Users/justinthomas/node_modules/ogg/node_modules/debug/package.json 306 info /Users/justinthomas/node_modules/ogg/node_modules/readable-stream unbuild 307 verbose read json /Users/justinthomas/node_modules/ogg/node_modules/readable-stream/package.json 308 verbose tar unpack /Users/justinthomas/.npm/bindings/1.0.0/package.tgz 309 verbose tar unpack /Users/justinthomas/.npm/debug/0.7.2/package.tgz 310 verbose tar unpack /Users/justinthomas/.npm/readable-stream/0.0.4/package.tgz 311 silly lockFile b004322d-odules-ogg-node-modules-bindings /Users/justinthomas/node_modules/ogg/node_modules/bindings 312 verbose lock /Users/justinthomas/node_modules/ogg/node_modules/bindings /Users/justinthomas/.npm/b004322d-odules-ogg-node-modules-bindings.lock 313 silly lockFile e79b7fb9-e-modules-ogg-node-modules-debug /Users/justinthomas/node_modules/ogg/node_modules/debug 314 verbose lock /Users/justinthomas/node_modules/ogg/node_modules/debug /Users/justinthomas/.npm/e79b7fb9-e-modules-ogg-node-modules-debug.lock 315 silly lockFile 6e16448b-ogg-node-modules-readable-stream /Users/justinthomas/node_modules/ogg/node_modules/readable-stream 316 verbose lock /Users/justinthomas/node_modules/ogg/node_modules/readable-stream /Users/justinthomas/.npm/6e16448b-ogg-node-modules-readable-stream.lock 317 silly gunzTarPerm modes [ '777', '666' ] 318 silly gunzTarPerm modes [ '777', '666' ] 319 silly gunzTarPerm modes [ '777', '666' ] 320 silly gunzTarPerm extractEntry package.json 321 silly gunzTarPerm extractEntry package.json 322 silly gunzTarPerm extractEntry package.json 323 silly gunzTarPerm extractEntry README.md 324 silly gunzTarPerm extractEntry bindings.js 325 silly gunzTarPerm extractEntry .npmignore 326 silly gunzTarPerm extractEntry debug.js 327 silly gunzTarPerm extractEntry README.md 328 silly gunzTarPerm extractEntry LICENSE 329 silly gunzTarPerm extractEntry index.js 330 silly gunzTarPerm extractEntry component.json 331 silly gunzTarPerm extractEntry duplex.js 332 silly gunzTarPerm extractEntry fs.js 333 silly gunzTarPerm extractEntry writable.js 334 silly gunzTarPerm extractEntry transform.js 335 silly gunzTarPerm extractEntry readable.js 336 silly gunzTarPerm extractEntry zlib.js 337 silly gunzTarPerm extractEntry passthrough.js 338 silly gunzTarPerm extractEntry test/common.js 339 silly gunzTarPerm extractEntry example/app.js 340 silly gunzTarPerm extractEntry example/wildcards.js 341 silly gunzTarPerm extractEntry test/fixtures/x1024.txt 342 silly gunzTarPerm extractEntry test/simple/test-stream2-basic.js 343 silly gunzTarPerm extractEntry example/worker.js 344 silly gunzTarPerm extractEntry test/simple/test-stream2-fs.js 345 silly gunzTarPerm extractEntry example/browser.html 346 silly gunzTarPerm extractEntry test/simple/test-stream2-pipe-error-handling.js 347 silly gunzTarPerm extractEntry History.md 348 silly gunzTarPerm extractEntry test/simple/test-stream2-readable-from-list.js 349 silly gunzTarPerm extractEntry test/simple/test-stream2-set-encoding.js 350 silly gunzTarPerm extractEntry test/simple/test-stream2-transform.js 351 silly gunzTarPerm extractEntry test/simple/test-stream2-writable.js 352 silly gunzTarPerm extractEntry examples/typer-fsr.js 353 silly gunzTarPerm extractEntry examples/typer.js 354 silly gunzTarPerm extractEntry examples/CAPSLOCKTYPER.JS 355 silly gunzTarPerm extractEntry lib/_stream_duplex.js 356 silly gunzTarPerm extractEntry lib/debug.js 357 silly gunzTarPerm extractEntry Readme.md 358 silly gunzTarPerm extractEntry lib/_stream_passthrough.js 359 silly gunzTarPerm extractEntry lib/_stream_readable.js 360 silly gunzTarPerm extractEntry lib/_stream_transform.js 361 silly gunzTarPerm extractEntry lib/_stream_writable.js 362 silly gunzTarPerm extractEntry lib/duplex.js 363 silly gunzTarPerm extractEntry lib/passthrough.js 364 verbose read json /Users/justinthomas/node_modules/ogg/node_modules/bindings/package.json 365 silly gunzTarPerm extractEntry lib/readable.js 366 silly gunzTarPerm extractEntry lib/transform.js 367 silly gunzTarPerm extractEntry lib/writable.js 368 silly lockFile b004322d-odules-ogg-node-modules-bindings /Users/justinthomas/node_modules/ogg/node_modules/bindings 369 info preinstall bindings@1.0.0 370 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/bindings/package.json 371 verbose readDependencies using package.json deps 372 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/bindings/package.json 373 verbose readDependencies using package.json deps 374 silly resolved [] 375 verbose about to build /Users/justinthomas/node_modules/ogg/node_modules/bindings 376 info build /Users/justinthomas/node_modules/ogg/node_modules/bindings 377 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/bindings/package.json 378 verbose linkStuff [ false, 378 verbose linkStuff false, 378 verbose linkStuff false, 378 verbose linkStuff '/Users/justinthomas/node_modules/ogg/node_modules' ] 379 info linkStuff bindings@1.0.0 380 verbose linkBins bindings@1.0.0 381 verbose linkMans bindings@1.0.0 382 verbose rebuildBundles bindings@1.0.0 383 info install bindings@1.0.0 384 info postinstall bindings@1.0.0 385 verbose read json /Users/justinthomas/node_modules/ogg/node_modules/debug/package.json 386 silly lockFile e79b7fb9-e-modules-ogg-node-modules-debug /Users/justinthomas/node_modules/ogg/node_modules/debug 387 info preinstall debug@0.7.2 388 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/debug/package.json 389 verbose readDependencies using package.json deps 390 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/debug/package.json 391 verbose readDependencies using package.json deps 392 silly resolved [] 393 verbose about to build /Users/justinthomas/node_modules/ogg/node_modules/debug 394 info build /Users/justinthomas/node_modules/ogg/node_modules/debug 395 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/debug/package.json 396 verbose linkStuff [ false, 396 verbose linkStuff false, 396 verbose linkStuff false, 396 verbose linkStuff '/Users/justinthomas/node_modules/ogg/node_modules' ] 397 info linkStuff debug@0.7.2 398 verbose linkBins debug@0.7.2 399 verbose linkMans debug@0.7.2 400 verbose rebuildBundles debug@0.7.2 401 info install debug@0.7.2 402 info postinstall debug@0.7.2 403 verbose read json /Users/justinthomas/node_modules/ogg/node_modules/readable-stream/package.json 404 silly lockFile 6e16448b-ogg-node-modules-readable-stream /Users/justinthomas/node_modules/ogg/node_modules/readable-stream 405 info preinstall readable-stream@0.0.4 406 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/readable-stream/package.json 407 verbose readDependencies using package.json deps 408 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/readable-stream/package.json 409 verbose readDependencies using package.json deps 410 silly resolved [] 411 verbose about to build /Users/justinthomas/node_modules/ogg/node_modules/readable-stream 412 info build /Users/justinthomas/node_modules/ogg/node_modules/readable-stream 413 verbose from cache /Users/justinthomas/node_modules/ogg/node_modules/readable-stream/package.json 414 verbose linkStuff [ false, 414 verbose linkStuff false, 414 verbose linkStuff false, 414 verbose linkStuff '/Users/justinthomas/node_modules/ogg/node_modules' ] 415 info linkStuff readable-stream@0.0.4 416 verbose linkBins readable-stream@0.0.4 417 verbose linkMans readable-stream@0.0.4 418 verbose rebuildBundles readable-stream@0.0.4 419 info install readable-stream@0.0.4 420 info postinstall readable-stream@0.0.4 421 verbose about to build /Users/justinthomas/node_modules/ogg 422 info build /Users/justinthomas/node_modules/ogg 423 verbose from cache /Users/justinthomas/node_modules/ogg/package.json 424 verbose linkStuff [ false, false, false, '/Users/justinthomas/node_modules' ] 425 info linkStuff ogg@0.0.1 426 verbose linkBins ogg@0.0.1 427 verbose linkMans ogg@0.0.1 428 verbose rebuildBundles ogg@0.0.1 429 verbose rebuildBundles [ 'bindings', 'debug', 'readable-stream' ] 430 info install ogg@0.0.1 431 verbose unsafe-perm in lifecycle true 432 silly exec sh "-c" "node-gyp rebuild" 433 silly sh,-c,node-gyp rebuild,/Users/justinthomas/node_modules/ogg spawning 434 info ogg@0.0.1 Failed to exec install script 435 info /Users/justinthomas/node_modules/ogg unbuild 436 verbose from cache /Users/justinthomas/node_modules/ogg/package.json 437 info preuninstall ogg@0.0.1 438 info uninstall ogg@0.0.1 439 verbose true,/Users/justinthomas/node_modules,/Users/justinthomas/node_modules unbuild ogg@0.0.1 440 info postuninstall ogg@0.0.1 441 error ogg@0.0.1 install:node-gyp rebuild 441 errorsh "-c" "node-gyp rebuild"` failed with 1 442 error Failed at the ogg@0.0.1 install script. 442 error This is most likely a problem with the ogg package, 442 error not with npm itself. 442 error Tell the author that this fails on your system: 442 error node-gyp rebuild 442 error You can get their info via: 442 error npm owner ls ogg 442 error There is likely additional logging output above. 443 error System Darwin 11.4.2 444 error command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "ogg" 445 error cwd /Users/justinthomas 446 error node -v v0.8.8 447 error npm -v 1.1.59 448 error code ELIFECYCLE 449 verbose exit [ 1, true ]

TooTallNate commented 11 years ago

Sorry, actually the npm-debug.log file doesn't contain the node-gyp build output. Can you just copy & paste the output from your terminal instead?

base698 commented 11 years ago

Command was npm install ogg

base698 commented 11 years ago
npm http GET https://registry.npmjs.org/ogg
npm http 304 https://registry.npmjs.org/ogg
npm http GET https://registry.npmjs.org/bindings
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/readable-stream
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/readable-stream
npm http 304 https://registry.npmjs.org/bindings

> ogg@0.0.1 install /Users/justinthomas/node_modules/ogg
> node-gyp rebuild

ogg.target.mk:130: warning: overriding commands for target `Release/ogg.node'
deps/libogg/libogg.target.mk:125: warning: ignoring old commands for target `Release/ogg.node'
make: Circular Release/obj.target/ogg/src/binding.o <- Release/ogg.node dependency dropped.
  CXX(target) Release/obj.target/ogg/src/binding.o
make: Circular Release/ogg.node <- Release/ogg.node dependency dropped.
  CC(target) Release/obj.target/libogg/deps/libogg/src/framing.o
  CC(target) Release/obj.target/libogg/deps/libogg/src/bitwise.o
  SOLINK(target) Release/ogg.node
i686-apple-darwin11-llvm-g++-4.2: ./Release/ogg.node: No such file or directory
make: *** [Release/ogg.node] 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:219:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:91:17)
gyp ERR! stack     at Process._handle.onexit (child_process.js:674:10)
gyp ERR! System Darwin 11.4.2
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/justinthomas/node_modules/ogg
gyp ERR! node -v v0.8.8
gyp ERR! node-gyp -v v0.6.7
gyp ERR! not ok 
npm ERR! ogg@0.0.1 install: `node-gyp rebuild`
npm ERR! `sh "-c" "node-gyp rebuild"` failed with 1
npm ERR! 
npm ERR! Failed at the ogg@0.0.1 install script.
npm ERR! This is most likely a problem with the ogg 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 ogg
npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 11.4.2
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "ogg"
npm ERR! cwd /Users/justinthomas
npm ERR! node -v v0.8.8
npm ERR! npm -v 1.1.59
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/justinthomas/npm-debug.log
npm ERR! not ok code 0
TooTallNate commented 11 years ago

So it looks like you have an old version of npm/node-gyp:

gyp ERR! node-gyp -v v0.6.7

Update your version of npm and/or node and it should be fixed. As noted in the README:

NOTE: node-ogg requires to be built using node-gyp v0.8.0 or newer!

base698 commented 11 years ago

About to try out node 0.8.19. Do you know what is the min working node version?

TooTallNate commented 11 years ago

Technically your version would work fine, you just needed to update npm (i.e. sudo npm install -g npm), which inherently will update node-gyp. But simply update to the newest node version is easier :)