0 info it worked if it ends with ok 1 verbose cli [ 'node', '/usr/local/bin/npm', 'install', 'couchbase' ] 2 info using npm@1.1.46 3 info using node@v0.8.8 4 verbose config file /Users/hanskristian/.npmrc 5 verbose config file /usr/local/etc/npmrc 6 verbose config file /usr/local/lib/node_modules/npm/npmrc 7 verbose read json /Users/hanskristian/training/couchnode/package.json 8 warn package.json couchnode_test@0.0.0 No README.md file found! 9 verbose from cache /Users/hanskristian/training/couchnode/package.json 10 verbose readDependencies using package.json deps 11 verbose cache add [ 'couchbase', null ] 12 silly cache add name=undefined spec="couchbase" args=["couchbase",null] 13 verbose parsed url { pathname: 'couchbase', path: 'couchbase', href: 'couchbase' } 14 silly lockFile b666d7e6-couchbase couchbase 15 verbose lock couchbase /Users/hanskristian/.npm/b666d7e6-couchbase.lock 16 silly lockFile b666d7e6-couchbase couchbase 17 verbose addNamed [ 'couchbase', '' ] 18 verbose addNamed [ null, '' ] 19 silly lockFile de828b20-couchbase couchbase@ 20 verbose lock couchbase@ /Users/hanskristian/.npm/de828b20-couchbase.lock 21 silly addNameRange { name: 'couchbase', range: '', hasData: false } 22 verbose url raw couchbase 23 verbose url resolving [ 'https://registry.npmjs.org/', './couchbase' ] 24 verbose url resolved https://registry.npmjs.org/couchbase 25 info retry registry request attempt 1 at 21:51:53 26 verbose etag "68ES9Z9PZDEPLHMS0JVNTK4YF" 27 http GET https://registry.npmjs.org/couchbase 28 http 304 https://registry.npmjs.org/couchbase 29 silly registry.get cb [ 304, 29 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)', 29 silly registry.get etag: '"68ES9Z9PZDEPLHMS0JVNTK4YF"', 29 silly registry.get date: 'Tue, 25 Dec 2012 20:50:42 GMT', 29 silly registry.get 'content-length': '0' } ] 30 verbose etag couchbase from cache 31 silly addNameRange number 2 { name: 'couchbase', range: '', hasData: true } 32 silly addNameRange versions [ 'couchbase', 32 silly addNameRange [ '0.0.1', 32 silly addNameRange '0.0.3', 32 silly addNameRange '0.0.4', 32 silly addNameRange '0.0.5', 32 silly addNameRange '0.0.6', 32 silly addNameRange '0.0.7', 32 silly addNameRange '0.0.8', 32 silly addNameRange '0.0.9', 32 silly addNameRange '0.0.10' ] ] 33 verbose addNamed [ 'couchbase', '0.0.10' ] 34 verbose addNamed [ '0.0.10', '0.0.10' ] 35 silly lockFile e24a572e-couchbase-0-0-10 couchbase@0.0.10 36 verbose lock couchbase@0.0.10 /Users/hanskristian/.npm/e24a572e-couchbase-0-0-10.lock 37 verbose read json /Users/hanskristian/.npm/couchbase/0.0.10/package/package.json 38 silly lockFile e24a572e-couchbase-0-0-10 couchbase@0.0.10 39 silly lockFile de828b20-couchbase couchbase@ 40 silly resolved [ { bugs: 40 silly resolved { url: 'www.couchbase.com/issues', 40 silly resolved email: 'support@couchbase.com' }, 40 silly resolved description: 'Client library for accessing a Couchbase Server cluster', 40 silly resolved engines: { node: '>=0.8.8' }, 40 silly resolved homepage: 'http://www.couchbase.com/develop', 40 silly resolved keywords: 40 silly resolved [ 'couchbase', 40 silly resolved 'libcouchbase', 40 silly resolved 'memcached', 40 silly resolved 'nosql', 40 silly resolved 'json', 40 silly resolved 'document' ], 40 silly resolved main: './lib/couchbase', 40 silly resolved name: 'couchbase', 40 silly resolved dependencies: { request: '2.11.x', bindings: '~1.0.0' }, 40 silly resolved repository: 40 silly resolved { type: 'git', 40 silly resolved url: 'http://github.com/couchbase/couchnode.git' }, 40 silly resolved version: '0.0.10', 40 silly resolved gypfile: true, 40 silly resolved scripts: { install: 'node-gyp rebuild' }, 40 silly resolved contributors: 40 silly resolved [ [Object], 40 silly resolved [Object], 40 silly resolved [Object], 40 silly resolved [Object], 40 silly resolved [Object], 40 silly resolved [Object], 40 silly resolved [Object], 40 silly resolved [Object], 40 silly resolved [Object] ], 40 silly resolved readme: 'couchnode - node.js access to libcouchbase\n==========================================\n\nThis library allows you to connect to a Couchbase cluster from node.js\n\nBasic installation and usage\n--------------------\n\nTo install this module, we\'ll assume you are using [NPM](https://npmjs.org).\nHowever it is not as simple as a regular JavaScript module,\nas it depends on the C-library for Couchbase clients,\n[libcouchbase](https://github.com/couchbase/libcouchbase). Libcouchbase\nalso powers other dynamic language clients, such as Ruby and PHP, so\nif you\'ve worked with those clients you should feel right at home.\n\nFirst step is to install libcouchbase (the 2.0 version). On a Mac\nwith homebrew this should be as easy as running:\n\n brew install https://github.com/couchbase/homebrew/raw/preview/Library/Formula/libcouchbase.rb\n\nOnce you have libcouchbase installed, you can proceed to install the\n`couchbase` module by running:\n\n npm install couchbase\n\nDo note that this module requires the very latest version of libcouchbase,\nso if you see errors like `error: ‘struct lcb_io_opt_st’ has no member named ‘v’`, you may have to install libcouchbase from\nsource until we cut another release.\n\n\nAPI description\n---------------\n\nFor API illustration, the best bet at the current time is [a small example http hit counter](https://github.com/couchbase/couchnode/tree/master/example.js). There is also [the test suite which shows more details.](https://github.com/couchbase/couchnode/tree/master/tests)\n\n get: cb.get(testkey, function (err, doc, meta) {})\n set: cb.set(testkey, "bar", function (err, meta) {})\n replace: cb.replace(testkey, "bar", function(err, meta) {})\n delete: cb.delete(testkey, function (err, meta) {})\n multiget: cb.get([\'key1\', \'key2\', \'...\'], function(err, doc, meta) {})\n\n\nContributing changes\n--------------------\n\nSee CONTRIBUTING.md\n\nInstall description\n-------------------\n\nYou would need to have libcouchbase installed _before_ you can build\nthe node extension. If you have installed libcouchbase in a location\nthat isn\'t part of the default search path for your compiler, linker\nand runtime linker, you have to set the appropriate flags. ex:\n\n EXTRA_CPPFLAGS="-I/opt/local/include"\n EXTRA_LDFLAGS="-L/opt/local/lib -Wl,-rpath,/opt/local/lib"\n', 40 silly resolved _id: 'couchbase@0.0.10', 40 silly resolved _from: 'couchbase' } ] 41 info install couchbase@0.0.10 into /Users/hanskristian/training/couchnode 42 info installOne couchbase@0.0.10 43 verbose from cache /Users/hanskristian/.npm/couchbase/0.0.10/package/package.json 44 info /Users/hanskristian/training/couchnode/node_modules/couchbase unbuild 45 verbose read json /Users/hanskristian/training/couchnode/node_modules/couchbase/package.json 46 verbose tar unpack /Users/hanskristian/.npm/couchbase/0.0.10/package.tgz 47 silly lockFile 01fe370e-couchnode-node-modules-couchbase /Users/hanskristian/training/couchnode/node_modules/couchbase 48 verbose lock /Users/hanskristian/training/couchnode/node_modules/couchbase /Users/hanskristian/.npm/01fe370e-couchnode-node-modules-couchbase.lock 49 silly gunzTarPerm modes [ '755', '644' ] 50 silly gunzTarPerm extractEntry package.json 51 silly gunzTarPerm extractEntry .npmignore 52 silly gunzTarPerm extractEntry README.md 53 silly gunzTarPerm extractEntry LICENSE 54 silly gunzTarPerm extractEntry example.js 55 silly gunzTarPerm extractEntry io/.npmignore 56 silly gunzTarPerm extractEntry io/common.c 57 silly gunzTarPerm extractEntry io/lcb_luv_internal.h 58 silly gunzTarPerm extractEntry io/libcouchbase-libuv.h 59 silly gunzTarPerm extractEntry io/plugin-libuv.c 60 silly gunzTarPerm extractEntry io/read.c 61 silly gunzTarPerm extractEntry io/socket.c 62 silly gunzTarPerm extractEntry io/timer.c 63 silly gunzTarPerm extractEntry io/util/hexdump.c 64 silly gunzTarPerm extractEntry io/util/lcb_luv_yolog.c 65 silly gunzTarPerm extractEntry io/util/lcb_luv_yolog.h 66 silly gunzTarPerm extractEntry io/write.c 67 silly gunzTarPerm extractEntry AUTHORS 68 silly gunzTarPerm extractEntry binding.gyp 69 silly gunzTarPerm extractEntry CONTRIBUTING.md 70 silly gunzTarPerm extractEntry tests/README.md 71 silly gunzTarPerm extractEntry tests/05-replace.js 72 silly gunzTarPerm extractEntry tests/06-add.js 73 silly gunzTarPerm extractEntry tests/07-exception-handling.js 74 silly gunzTarPerm extractEntry tests/08-views.js 75 silly gunzTarPerm extractEntry tests/04-remove.js 76 silly gunzTarPerm extractEntry tests/01-set.js 77 silly gunzTarPerm extractEntry tests/11-jscbc-4.js 78 silly gunzTarPerm extractEntry tests/12-observe.js 79 silly gunzTarPerm extractEntry tests/13-endure.js 80 silly gunzTarPerm extractEntry tests/14-prepend-append.js 81 silly gunzTarPerm extractEntry tests/03-multiget.js 82 silly gunzTarPerm extractEntry tests/bug.js 83 silly gunzTarPerm extractEntry tests/02-get.js 84 silly gunzTarPerm extractEntry tests/00-args.t.js 85 silly gunzTarPerm extractEntry tests/09-incr-decr.js 86 silly gunzTarPerm extractEntry tests/setup.js 87 silly gunzTarPerm extractEntry tests/10-strerror.js 88 silly gunzTarPerm extractEntry tests/config.json.sample 89 silly gunzTarPerm extractEntry tests/runtests.sh 90 silly gunzTarPerm extractEntry src/couchbase_impl.cc 91 silly gunzTarPerm extractEntry src/args.cc 92 silly gunzTarPerm extractEntry src/cas.cc 93 silly gunzTarPerm extractEntry src/cas.h 94 silly gunzTarPerm extractEntry src/cookie.h 95 silly gunzTarPerm extractEntry src/args.h 96 silly gunzTarPerm extractEntry src/couchbase_impl.h 97 silly gunzTarPerm extractEntry src/namemap.cc 98 silly gunzTarPerm extractEntry src/namemap.h 99 silly gunzTarPerm extractEntry src/notify.cc 100 silly gunzTarPerm extractEntry src/operations.cc 101 silly gunzTarPerm extractEntry lib/bucket.js 102 silly gunzTarPerm extractEntry lib/couchbase.js 103 verbose read json /Users/hanskristian/training/couchnode/node_modules/couchbase/package.json 104 silly lockFile 01fe370e-couchnode-node-modules-couchbase /Users/hanskristian/training/couchnode/node_modules/couchbase 105 info preinstall couchbase@0.0.10 106 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/package.json 107 verbose readDependencies using package.json deps 108 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/package.json 109 verbose readDependencies using package.json deps 110 verbose cache add [ 'request@2.11.x', null ] 111 silly cache add name=undefined spec="request@2.11.x" args=["request@2.11.x",null] 112 verbose parsed url { pathname: 'request@2.11.x', 112 verbose parsed url path: 'request@2.11.x', 112 verbose parsed url href: 'request@2.11.x' } 113 silly cache add name="request" spec="2.11.x" args=["request","2.11.x"] 114 verbose parsed url { pathname: '2.11.x', path: '2.11.x', href: '2.11.x' } 115 verbose addNamed [ 'request', '2.11.x' ] 116 verbose addNamed [ null, '>=2.11.0- <2.12.0-' ] 117 silly lockFile d7d9fa7e-request-2-11-x request@2.11.x 118 verbose lock request@2.11.x /Users/hanskristian/.npm/d7d9fa7e-request-2-11-x.lock 119 verbose cache add [ 'bindings@~1.0.0', null ] 120 silly cache add name=undefined spec="bindings@~1.0.0" args=["bindings@~1.0.0",null] 121 verbose parsed url { pathname: 'bindings@~1.0.0', 121 verbose parsed url path: 'bindings@~1.0.0', 121 verbose parsed url href: 'bindings@~1.0.0' } 122 silly cache add name="bindings" spec="~1.0.0" args=["bindings","~1.0.0"] 123 verbose parsed url { pathname: '~1.0.0', path: '~1.0.0', href: '~1.0.0' } 124 verbose addNamed [ 'bindings', '~1.0.0' ] 125 verbose addNamed [ null, '>=1.0.0- <1.1.0-' ] 126 silly lockFile ffec4ddc-bindings-1-0-0 bindings@~1.0.0 127 verbose lock bindings@~1.0.0 /Users/hanskristian/.npm/ffec4ddc-bindings-1-0-0.lock 128 silly addNameRange { name: 'request', range: '>=2.11.0- <2.12.0-', hasData: false } 129 silly addNameRange { name: 'bindings', range: '>=1.0.0- <1.1.0-', hasData: false } 130 verbose url raw bindings 131 verbose url resolving [ 'https://registry.npmjs.org/', './bindings' ] 132 verbose url resolved https://registry.npmjs.org/bindings 133 info retry registry request attempt 1 at 21:51:55 134 verbose etag "64PA4SD751I7ZJ5D8J6WAIMVP" 135 http GET https://registry.npmjs.org/bindings 136 verbose url raw request 137 verbose url resolving [ 'https://registry.npmjs.org/', './request' ] 138 verbose url resolved https://registry.npmjs.org/request 139 info retry registry request attempt 1 at 21:51:55 140 verbose etag "DESZDRE810GGGHB5QJ6X1P40C" 141 http GET https://registry.npmjs.org/request 142 http 304 https://registry.npmjs.org/bindings 143 silly registry.get cb [ 304, 143 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)', 143 silly registry.get etag: '"64PA4SD751I7ZJ5D8J6WAIMVP"', 143 silly registry.get date: 'Tue, 25 Dec 2012 20:50:44 GMT', 143 silly registry.get 'content-length': '0' } ] 144 verbose etag bindings from cache 145 silly addNameRange number 2 { name: 'bindings', range: '>=1.0.0- <1.1.0-', hasData: true } 146 silly addNameRange versions [ 'bindings', 146 silly addNameRange [ '0.0.1', 146 silly addNameRange '0.1.0', 146 silly addNameRange '0.1.1', 146 silly addNameRange '0.2.0', 146 silly addNameRange '0.2.1', 146 silly addNameRange '0.2.2', 146 silly addNameRange '0.2.3', 146 silly addNameRange '0.2.4', 146 silly addNameRange '0.3.0', 146 silly addNameRange '0.4.0', 146 silly addNameRange '1.0.0' ] ] 147 verbose addNamed [ 'bindings', '1.0.0' ] 148 verbose addNamed [ '1.0.0', '1.0.0' ] 149 silly lockFile f01e5454-bindings-1-0-0 bindings@1.0.0 150 verbose lock bindings@1.0.0 /Users/hanskristian/.npm/f01e5454-bindings-1-0-0.lock 151 verbose read json /Users/hanskristian/.npm/bindings/1.0.0/package/package.json 152 silly lockFile f01e5454-bindings-1-0-0 bindings@1.0.0 153 silly lockFile ffec4ddc-bindings-1-0-0 bindings@~1.0.0 154 http 304 https://registry.npmjs.org/request 155 silly registry.get cb [ 304, 155 silly registry.get { server: 'CouchDB/1.2.0 (Erlang OTP/R15B)', 155 silly registry.get etag: '"DESZDRE810GGGHB5QJ6X1P40C"', 155 silly registry.get date: 'Tue, 25 Dec 2012 20:50:44 GMT', 155 silly registry.get 'content-length': '0' } ] 156 verbose etag request from cache 157 silly addNameRange number 2 { name: 'request', range: '>=2.11.0- <2.12.0-', hasData: true } 158 silly addNameRange versions [ 'request', 158 silly addNameRange [ '0.10.0', 158 silly addNameRange '0.8.3', 158 silly addNameRange '0.9.0', 158 silly addNameRange '0.9.1', 158 silly addNameRange '0.9.5', 158 silly addNameRange '1.0.0', 158 silly addNameRange '1.1.0', 158 silly addNameRange '1.1.1', 158 silly addNameRange '1.2.0', 158 silly addNameRange '1.9.0', 158 silly addNameRange '1.9.1', 158 silly addNameRange '1.9.2', 158 silly addNameRange '1.9.3', 158 silly addNameRange '1.9.5', 158 silly addNameRange '1.9.7', 158 silly addNameRange '1.9.8', 158 silly addNameRange '1.9.9', 158 silly addNameRange '2.0.0', 158 silly addNameRange '2.0.1', 158 silly addNameRange '2.0.2', 158 silly addNameRange '2.0.3', 158 silly addNameRange '2.0.4', 158 silly addNameRange '2.0.5', 158 silly addNameRange '2.1.0', 158 silly addNameRange '2.1.1', 158 silly addNameRange '2.2.0', 158 silly addNameRange '2.2.5', 158 silly addNameRange '2.2.6', 158 silly addNameRange '2.2.9', 158 silly addNameRange '2.9.0', 158 silly addNameRange '2.9.1', 158 silly addNameRange '2.9.2', 158 silly addNameRange '2.9.3', 158 silly addNameRange '2.9.100', 158 silly addNameRange '2.9.150', 158 silly addNameRange '2.9.151', 158 silly addNameRange '2.9.152', 158 silly addNameRange '2.9.153', 158 silly addNameRange '2.9.200', 158 silly addNameRange '2.9.201', 158 silly addNameRange '2.9.202', 158 silly addNameRange '2.9.203', 158 silly addNameRange '2.10.0', 158 silly addNameRange '2.11.0', 158 silly addNameRange '2.11.1', 158 silly addNameRange '2.11.2', 158 silly addNameRange '2.11.3', 158 silly addNameRange '2.11.4', 158 silly addNameRange '2.12.0' ] ] 159 verbose addNamed [ 'request', '2.11.4' ] 160 verbose addNamed [ '2.11.4', '2.11.4' ] 161 silly lockFile 228b00c3-request-2-11-4 request@2.11.4 162 verbose lock request@2.11.4 /Users/hanskristian/.npm/228b00c3-request-2-11-4.lock 163 verbose read json /Users/hanskristian/.npm/request/2.11.4/package/package.json 164 silly lockFile 228b00c3-request-2-11-4 request@2.11.4 165 silly lockFile d7d9fa7e-request-2-11-x request@2.11.x 166 silly resolved [ { name: 'bindings', 166 silly resolved description: 'Helper module for loading your native module\'s .node file', 166 silly resolved keywords: [ 'native', 'addon', 'bindings', 'gyp', 'waf', 'c', 'c++' ], 166 silly resolved version: '1.0.0', 166 silly resolved author: 166 silly resolved { name: 'Nathan Rajlich', 166 silly resolved email: 'nathan@tootallnate.net', 166 silly resolved url: 'http://tootallnate.net' }, 166 silly resolved repository: 166 silly resolved { type: 'git', 166 silly resolved url: 'git://github.com/TooTallNate/node-bindings.git' }, 166 silly resolved main: './bindings.js', 166 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\n``` bash\n$ npm install bindings\n```\n\nOr add it to the `"dependencies"` section of your _package.json_ file.\n\n\nExample\n-------\n\n`require()`ing the proper bindings file for the current node version, platform\nand architecture is as simple as:\n\n``` js\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\n`err.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. (/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', 166 silly resolved _id: 'bindings@1.0.0', 166 silly resolved _from: 'bindings@~1.0.0' }, 166 silly resolved { name: 'request', 166 silly resolved description: 'Simplified HTTP request client.', 166 silly resolved tags: [ 'http', 'simple', 'util', 'utility' ], 166 silly resolved version: '2.11.4', 166 silly resolved author: { name: 'Mikeal Rogers', email: 'mikeal.rogers@gmail.com' }, 166 silly resolved repository: { type: 'git', url: 'http://github.com/mikeal/request.git' }, 166 silly resolved bugs: { url: 'http://github.com/mikeal/request/issues' }, 166 silly resolved engines: [ 'node >= 0.3.6' ], 166 silly resolved main: './main', 166 silly resolved dependencies: { 'form-data': '~0.0.3', mime: '~1.2.7' }, 166 silly resolved bundleDependencies: [ 'form-data', 'mime' ], 166 silly resolved scripts: { test: 'node tests/run.js' }, 166 silly resolved readme: '# Request -- Simplified HTTP request method\n\n## Install\n\n
\n  npm install request\n
\n\nOr from source:\n\n
\n  git clone git://github.com/mikeal/request.git \n  cd request\n  npm link\n
\n\n## Super simple to use\n\nRequest is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.\n\n```javascript\nvar request = require(\'request\');\nrequest(\'http://www.google.com\', function (error, response, body) {\n if (!error && response.statusCode == 200) {\n console.log(body) // Print the google web page.\n }\n})\n```\n\n## Streaming\n\nYou can stream any response to a file stream.\n\n```javascript\nrequest(\'http://google.com/doodle.png\').pipe(fs.createWriteStream(\'doodle.png\'))\n```\n\nYou can also stream a file to a PUT or POST request. This method will also check the file extension against a mapping of file extensions to content-types, in this case `application/json`, and use the proper content-type in the PUT request if one is not already provided in the headers.\n\n```javascript\nfs.createReadStream(\'file.json\').pipe(request.put(\'http://mysite.com/obj.json\'))\n```\n\nRequest can also pipe to itself. When doing so the content-type and content-length will be preserved in the PUT headers.\n\n```javascript\nrequest.get(\'http://google.com/img.png\').pipe(request.put(\'http://mysite.com/img.png\'))\n```\n\nNow let\'s get fancy.\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n if (req.method === \'PUT\') {\n req.pipe(request.put(\'http://mysite.com/doodle.png\'))\n } else if (req.method === \'GET\' || req.method === \'HEAD\') {\n request.get(\'http://mysite.com/doodle.png\').pipe(resp)\n } \n }\n})\n```\n\nYou can also pipe() from a http.ServerRequest instance and to a http.ServerResponse instance. The HTTP method and headers will be sent as well as the entity-body data. Which means that, if you don\'t really care about security, you can do:\n\n```javascript\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n var x = request(\'http://mysite.com/doodle.png\')\n req.pipe(x)\n x.pipe(resp)\n }\n})\n```\n\nAnd since pipe() returns the destination stream in node 0.5.x you can do one line proxying :)\n\n```javascript\nreq.pipe(request(\'http://mysite.com/doodle.png\')).pipe(resp)\n```\n\nAlso, none of this new functionality conflicts with requests previous features, it just expands them.\n\n```javascript\nvar r = request.defaults({\'proxy\':\'http://localproxy.com\'})\n\nhttp.createServer(function (req, resp) {\n if (req.url === \'/doodle.png\') {\n r.get(\'http://google.com/doodle.png\').pipe(resp)\n }\n})\n```\nYou can still use intermediate proxies, the requests will still follow HTTP forwards, etc.\n\n## Forms\n\n`request` supports `application/x-www-form-urlencoded` and `multipart/form-data` form uploads. For `multipart/related` refer to the `multipart` API.\n\nUrl encoded forms are simple\n\n```javascript\nrequest.post(\'http://service.com/upload\', {form:{key:\'value\'}})\n// or\nrequest.post(\'http://service.com/upload\').form({key:\'value\'})\n```\n\nFor `multipart/form-data` we use the [form-data](https://github.com/felixge/node-form-data) library by [@felixge](https://github.com/felixge). You don\'t need to worry about piping the form object or setting the headers, `request` will handle that for you.\n\n```javascript\nvar r = request.post(\'http://service.com/upload\')\nvar form = r.form()\nform.append(\'my_field\', \'my_value\')\nform.append(\'my_buffer\', new Buffer([1, 2, 3]))\nform.append(\'my_file\', fs.createReadStream(path.join(__dirname, \'doodle.png\'))\nform.append(\'remote_file\', request(\'http://google.com/doodle.png\'))\n```\n\n## OAuth Signing\n\n```javascript\n// Twitter OAuth\nvar qs = require(\'querystring\')\n , oauth =\n { callback: \'http://mysite.com/callback/\'\n , consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n }\n , url = \'https://api.twitter.com/oauth/request_token\'\n ;\nrequest.post({url:url, oauth:oauth}, function (e, r, body) {\n // Assume by some stretch of magic you aquired the verifier\n var access_token = qs.parse(body)\n , oauth = \n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: access_token.oauth_token\n , verifier: VERIFIER\n , token_secret: access_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/oauth/access_token\'\n ;\n request.post({url:url, oauth:oauth}, function (e, r, body) {\n var perm_token = qs.parse(body)\n , oauth = \n { consumer_key: CONSUMER_KEY\n , consumer_secret: CONSUMER_SECRET\n , token: perm_token.oauth_token\n , token_secret: perm_token.oauth_token_secret\n }\n , url = \'https://api.twitter.com/1/users/show.json?\'\n , params = \n { screen_name: perm_token.screen_name\n , user_id: perm_token.user_id\n }\n ;\n url += qs.stringify(params)\n request.get({url:url, oauth:oauth, json:true}, function (e, r, user) {\n console.log(user)\n })\n })\n})\n```\n\n\n\n### request(options, callback)\n\nThe first argument can be either a url or an options object. The only required option is uri, all others are optional.\n\n* `uri` || `url` - fully qualified uri or a parsed url object from url.parse()\n* `qs` - object containing querystring values to be appended to the uri\n* `method` - http method, defaults to GET\n* `headers` - http headers, defaults to {}\n* `body` - entity body for POST and PUT requests. Must be buffer or string.\n* `form` - when passed an object this will set `body` but to a querystring representation of value and adds `Content-type: application/x-www-form-urlencoded; charset=utf-8` header. When passed no option a FormData instance is returned that will be piped to request.\n* `json` - sets `body` but to JSON representation of value and adds `Content-type: application/json` header. Additionally, parses the response body as json.\n* `multipart` - (experimental) array of objects which contains their own headers and `body` attribute. Sends `multipart/related` request. See example below.\n* `followRedirect` - follow HTTP 3xx responses as redirects. defaults to true.\n* `followAllRedirects` - follow non-GET HTTP 3xx responses as redirects. defaults to false.\n* `maxRedirects` - the maximum number of redirects to follow, defaults to 10.\n* `encoding` - Encoding to be used on `setEncoding` of response data. If set to `null`, the body is returned as a Buffer.\n* `pool` - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node\'s default maxSockets.\n* `pool.maxSockets` - Integer containing the maximum amount of sockets in the pool.\n* `timeout` - Integer containing the number of milliseconds to wait for a request to respond before aborting the request\t\n* `proxy` - An HTTP proxy to be used. Support proxy Auth with Basic Auth the same way it\'s supported with the `url` parameter by embedding the auth info in the uri.\n* `oauth` - Options for OAuth HMAC-SHA1 signing, see documentation above.\n* `strictSSL` - Set to `true` to require that SSL certificates be valid. Note: to use your own certificate authority, you need to specify an agent that was created with that ca as an option.\n* `jar` - Set to `false` if you don\'t want cookies to be remembered for future use or define your custom cookie jar (see examples section)\n\n\nThe callback argument gets 3 arguments. The first is an error when applicable (usually from the http.Client option not the http.ClientRequest object). The second in an http.ClientResponse object. The third is the response body String or Buffer.\n\n## Convenience methods\n\nThere are also shorthand methods for different HTTP METHODs and some other conveniences.\n\n### request.defaults(options) \n \nThis method returns a wrapper around the normal request API that defaults to whatever options you pass in to it.\n\n### request.put\n\nSame as request() but defaults to `method: "PUT"`.\n\n```javascript\nrequest.put(url)\n```\n\n### request.post\n\nSame as request() but defaults to `method: "POST"`.\n\n```javascript\nrequest.post(url)\n```\n\n### request.head\n\nSame as request() but defaults to `method: "HEAD"`.\n\n```javascript\nrequest.head(url)\n```\n\n### request.del\n\nSame as request() but defaults to `method: "DELETE"`.\n\n```javascript\nrequest.del(url)\n```\n\n### request.get\n\nAlias to normal request method for uniformity.\n\n```javascript\nrequest.get(url)\n```\n### request.cookie\n\nFunction that creates a new cookie.\n\n```javascript\nrequest.cookie(\'cookie_string_here\')\n```\n### request.jar\n\nFunction that creates a new cookie jar.\n\n```javascript\nrequest.jar()\n```\n\n\n## Examples:\n\n```javascript\n var request = require(\'request\')\n , rand = Math.floor(Math.random()*100000000).toString()\n ;\n request(\n { method: \'PUT\'\n , uri: \'http://mikeal.iriscouch.com/testjs/\' + rand\n , multipart: \n [ { \'content-type\': \'application/json\'\n , body: JSON.stringify({foo: \'bar\', _attachments: {\'message.txt\': {follows: true, length: 18, \'content_type\': \'text/plain\' }}})\n }\n , { body: \'I am an attachment\' }\n ] \n }\n , function (error, response, body) {\n if(response.statusCode == 201){\n console.log(\'document saved as: http://mikeal.iriscouch.com/testjs/\'+ rand)\n } else {\n console.log(\'error: \'+ response.statusCode)\n console.log(body)\n }\n }\n )\n```\nCookies are enabled by default (so they can be used in subsequent requests). To disable cookies set jar to false (either in defaults or in the options sent).\n\n```javascript\nvar request = request.defaults({jar: false})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\n\nIf you to use a custom cookie jar (instead of letting request use its own global cookie jar) you do so by setting the jar default or by specifying it as an option:\n\n```javascript\nvar j = request.jar()\nvar request = request.defaults({jar:j})\nrequest(\'http://www.google.com\', function () {\n request(\'http://images.google.com\')\n})\n```\nOR\n\n```javascript\nvar j = request.jar()\nvar cookie = request.cookie(\'your_cookie_here\')\nj.add(cookie)\nrequest({url: \'http://www.google.com\', jar: j}, function () {\n request(\'http://images.google.com\')\n})\n```\n', 166 silly resolved _id: 'request@2.11.4', 166 silly resolved _from: 'request@2.11.x' } ] 167 info install bindings@1.0.0 into /Users/hanskristian/training/couchnode/node_modules/couchbase 168 info install request@2.11.4 into /Users/hanskristian/training/couchnode/node_modules/couchbase 169 info installOne bindings@1.0.0 170 info installOne request@2.11.4 171 verbose from cache /Users/hanskristian/.npm/bindings/1.0.0/package/package.json 172 verbose from cache /Users/hanskristian/.npm/request/2.11.4/package/package.json 173 info /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings unbuild 174 verbose read json /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings/package.json 175 info /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request unbuild 176 verbose read json /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/package.json 177 verbose tar unpack /Users/hanskristian/.npm/bindings/1.0.0/package.tgz 178 verbose tar unpack /Users/hanskristian/.npm/request/2.11.4/package.tgz 179 silly lockFile 0f3af58f--couchbase-node-modules-bindings /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings 180 verbose lock /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings /Users/hanskristian/.npm/0f3af58f--couchbase-node-modules-bindings.lock 181 silly lockFile 30de351c-s-couchbase-node-modules-request /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request 182 verbose lock /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request /Users/hanskristian/.npm/30de351c-s-couchbase-node-modules-request.lock 183 silly gunzTarPerm modes [ '755', '644' ] 184 silly gunzTarPerm modes [ '755', '644' ] 185 silly gunzTarPerm extractEntry package.json 186 silly gunzTarPerm extractEntry package.json 187 silly gunzTarPerm extractEntry README.md 188 silly gunzTarPerm extractEntry bindings.js 189 silly gunzTarPerm extractEntry README.md 190 silly gunzTarPerm extractEntry LICENSE 191 silly gunzTarPerm extractEntry main.js 192 silly gunzTarPerm extractEntry uuid.js 193 silly gunzTarPerm extractEntry oauth.js 194 silly gunzTarPerm extractEntry forever.js 195 silly gunzTarPerm extractEntry tunnel.js 196 silly gunzTarPerm extractEntry aws.js 197 silly gunzTarPerm extractEntry tests/test-https-strict.js 198 silly gunzTarPerm extractEntry tests/test-headers.js 199 silly gunzTarPerm extractEntry tests/test-httpModule.js 200 silly gunzTarPerm extractEntry tests/run.js 201 silly gunzTarPerm extractEntry tests/test-form.js 202 silly gunzTarPerm extractEntry tests/test-oauth.js 203 silly gunzTarPerm extractEntry tests/test-params.js 204 silly gunzTarPerm extractEntry tests/test-piped-redirect.js 205 silly gunzTarPerm extractEntry tests/test-pipes.js 206 silly gunzTarPerm extractEntry tests/test-pool.js 207 silly gunzTarPerm extractEntry tests/test-follow-all.js 208 silly gunzTarPerm extractEntry tests/test-protocol-changing-redirect.js 209 silly gunzTarPerm extractEntry tests/test-follow-all-303.js 210 silly gunzTarPerm extractEntry tests/test-proxy.js 211 verbose read json /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings/package.json 212 silly gunzTarPerm extractEntry tests/test-errors.js 213 silly gunzTarPerm extractEntry tests/test-qs.js 214 silly gunzTarPerm extractEntry tests/test-defaults.js 215 silly gunzTarPerm extractEntry tests/test-redirect.js 216 silly gunzTarPerm extractEntry tests/test-cookiejar.js 217 silly lockFile 0f3af58f--couchbase-node-modules-bindings /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings 218 silly gunzTarPerm extractEntry tests/test-s3.js 219 silly gunzTarPerm extractEntry tests/test-cookie.js 220 silly gunzTarPerm extractEntry tests/test-timeout.js 221 silly gunzTarPerm extractEntry tests/test-body.js 222 silly gunzTarPerm extractEntry tests/test-toJSON.js 223 info preinstall bindings@1.0.0 224 silly gunzTarPerm extractEntry tests/server.js 225 silly gunzTarPerm extractEntry tests/test-tunnel.js 226 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings/package.json 227 silly gunzTarPerm extractEntry tests/test-https.js 228 silly gunzTarPerm extractEntry tests/squid.conf 229 verbose readDependencies using package.json deps 230 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings/package.json 231 silly gunzTarPerm extractEntry tests/ssl/ca/server.js 232 silly gunzTarPerm extractEntry tests/ssl/ca/ca.srl 233 verbose readDependencies using package.json deps 234 silly resolved [] 235 verbose about to build /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings 236 info build /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings 237 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/bindings/package.json 238 silly gunzTarPerm extractEntry tests/ssl/ca/ca.crt 239 silly gunzTarPerm extractEntry tests/ssl/ca/ca.csr 240 verbose linkStuff [ false, 240 verbose linkStuff false, 240 verbose linkStuff false, 240 verbose linkStuff '/Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules' ] 241 info linkStuff bindings@1.0.0 242 verbose linkBins bindings@1.0.0 243 verbose linkMans bindings@1.0.0 244 verbose rebuildBundles bindings@1.0.0 245 info install bindings@1.0.0 246 info postinstall bindings@1.0.0 247 silly gunzTarPerm extractEntry tests/ssl/ca/ca.key 248 silly gunzTarPerm extractEntry tests/ssl/ca/ca.crl 249 silly gunzTarPerm extractEntry tests/ssl/ca/server.cnf 250 silly gunzTarPerm extractEntry tests/ssl/ca/server.crt 251 silly gunzTarPerm extractEntry tests/ssl/ca/server.csr 252 silly gunzTarPerm extractEntry tests/ssl/ca/ca.cnf 253 silly gunzTarPerm extractEntry tests/ssl/ca/server.key 254 silly gunzTarPerm extractEntry tests/ssl/npm-ca.crt 255 silly gunzTarPerm extractEntry tests/ssl/test.crt 256 silly gunzTarPerm extractEntry tests/ssl/test.key 257 silly gunzTarPerm extractEntry tests/googledoodle.png 258 silly gunzTarPerm extractEntry tests/unicycle.jpg 259 silly gunzTarPerm extractEntry vendor/cookie/index.js 260 silly gunzTarPerm extractEntry vendor/cookie/jar.js 261 silly gunzTarPerm extractEntry node_modules/form-data/package.json 262 silly gunzTarPerm extractEntry node_modules/form-data/.npmignore 263 silly gunzTarPerm extractEntry node_modules/form-data/lib/form_data.js 264 silly gunzTarPerm extractEntry node_modules/form-data/Makefile 265 silly gunzTarPerm extractEntry node_modules/form-data/node-form-data.sublime-project 266 silly gunzTarPerm extractEntry node_modules/form-data/node-form-data.sublime-workspace 267 silly gunzTarPerm extractEntry node_modules/form-data/Readme.md 268 silly gunzTarPerm extractEntry node_modules/form-data/test/common.js 269 silly gunzTarPerm extractEntry node_modules/form-data/test/run.js 270 silly gunzTarPerm extractEntry node_modules/form-data/test/fixture/bacon.txt 271 silly gunzTarPerm extractEntry node_modules/form-data/test/fixture/unicycle.jpg 272 silly gunzTarPerm extractEntry node_modules/form-data/test/integration/test-form-get-length.js 273 silly gunzTarPerm extractEntry node_modules/form-data/test/integration/test-get-boundary.js 274 silly gunzTarPerm extractEntry node_modules/form-data/test/integration/test-http-response.js 275 silly gunzTarPerm extractEntry node_modules/form-data/test/integration/test-pipe.js 276 silly gunzTarPerm extractEntry node_modules/form-data/test/integration/test-submit.js 277 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/package.json 278 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/README.md 279 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/LICENSE 280 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/index.js 281 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/.gitmodules 282 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/lib/async.js 283 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/async.min.js.gzip 284 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/Makefile 285 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/nodelint.cfg 286 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/deps/nodeunit.js 287 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/deps/nodeunit.css 288 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/dist/async.min.js 289 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/test/test-async.js 290 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/test/.swp 291 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/async/test/test.html 292 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/package.json 293 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/.npmignore 294 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/lib/combined_stream.js 295 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/License 296 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/Makefile 297 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/Readme.md 298 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/common.js 299 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/run.js 300 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/fixture/file1.txt 301 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/fixture/file2.txt 302 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/integration/test-callback-streams.js 303 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/integration/test-data-size.js 304 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams-and-buffers-and-strings.js 305 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/integration/test-delayed-streams.js 306 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/integration/test-max-data-size.js 307 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/test/integration/test-unpaused-streams.js 308 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/package.json 309 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/.npmignore 310 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/lib/delayed_stream.js 311 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/License 312 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Makefile 313 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/Readme.md 314 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/common.js 315 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/run.js 316 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-http-upload.js 317 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-auto-pause.js 318 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream-pause.js 319 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-delayed-stream.js 320 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js 321 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-max-data-size.js 322 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-pipe-resumes.js 323 silly gunzTarPerm extractEntry node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-proxy-readable.js 324 silly gunzTarPerm extractEntry node_modules/mime/package.json 325 silly gunzTarPerm extractEntry node_modules/mime/README.md 326 silly gunzTarPerm extractEntry node_modules/mime/LICENSE 327 silly gunzTarPerm extractEntry node_modules/mime/mime.js 328 silly gunzTarPerm extractEntry node_modules/mime/test.js 329 silly gunzTarPerm extractEntry node_modules/mime/types/mime.types 330 silly gunzTarPerm extractEntry node_modules/mime/types/node.types 331 verbose read json /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/package.json 332 silly lockFile 30de351c-s-couchbase-node-modules-request /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request 333 info preinstall request@2.11.4 334 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/package.json 335 verbose readDependencies using package.json deps 336 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/package.json 337 verbose readDependencies using package.json deps 338 silly resolved [] 339 verbose about to build /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request 340 info build /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request 341 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/package.json 342 verbose read json /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules/form-data/package.json 343 verbose read json /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules/mime/package.json 344 verbose linkStuff [ false, 344 verbose linkStuff false, 344 verbose linkStuff false, 344 verbose linkStuff '/Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules' ] 345 info linkStuff request@2.11.4 346 verbose linkBins request@2.11.4 347 verbose linkMans request@2.11.4 348 verbose rebuildBundles request@2.11.4 349 verbose rebuildBundles [ 'form-data', 'mime' ] 350 verbose rebuild bundle /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules/form-data 351 info build /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules/form-data 352 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules/form-data/package.json 353 info preinstall form-data@0.0.3 354 verbose linkStuff [ false, 354 verbose linkStuff false, 354 verbose linkStuff false, 354 verbose linkStuff '/Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules' ] 355 info linkStuff form-data@0.0.3 356 verbose linkBins form-data@0.0.3 357 verbose linkMans form-data@0.0.3 358 verbose rebuildBundles form-data@0.0.3 359 verbose rebuildBundles [ 'async', 'combined-stream' ] 360 info install form-data@0.0.3 361 info postinstall form-data@0.0.3 362 verbose rebuild bundle /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules/mime 363 info build /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules/mime 364 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules/mime/package.json 365 info preinstall mime@1.2.7 366 verbose linkStuff [ false, 366 verbose linkStuff false, 366 verbose linkStuff false, 366 verbose linkStuff '/Users/hanskristian/training/couchnode/node_modules/couchbase/node_modules/request/node_modules' ] 367 info linkStuff mime@1.2.7 368 verbose linkBins mime@1.2.7 369 verbose linkMans mime@1.2.7 370 verbose rebuildBundles mime@1.2.7 371 info install mime@1.2.7 372 info postinstall mime@1.2.7 373 info install request@2.11.4 374 info postinstall request@2.11.4 375 verbose about to build /Users/hanskristian/training/couchnode/node_modules/couchbase 376 info build /Users/hanskristian/training/couchnode/node_modules/couchbase 377 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/package.json 378 verbose linkStuff [ false, 378 verbose linkStuff false, 378 verbose linkStuff false, 378 verbose linkStuff '/Users/hanskristian/training/couchnode/node_modules' ] 379 info linkStuff couchbase@0.0.10 380 verbose linkBins couchbase@0.0.10 381 verbose linkMans couchbase@0.0.10 382 verbose rebuildBundles couchbase@0.0.10 383 verbose rebuildBundles [ 'bindings', 'request' ] 384 info install couchbase@0.0.10 385 verbose unsafe-perm in lifecycle false 386 verbose set uid from=0 to=501 387 silly exec sh "-c" "node-gyp rebuild" 388 silly sh,-c,node-gyp rebuild,/Users/hanskristian/training/couchnode/node_modules/couchbase spawning 389 info couchbase@0.0.10 Failed to exec install script 390 info /Users/hanskristian/training/couchnode/node_modules/couchbase unbuild 391 verbose from cache /Users/hanskristian/training/couchnode/node_modules/couchbase/package.json 392 info preuninstall couchbase@0.0.10 393 info uninstall couchbase@0.0.10 394 verbose true,/Users/hanskristian/training/couchnode/node_modules,/Users/hanskristian/training/couchnode/node_modules unbuild couchbase@0.0.10 395 info postuninstall couchbase@0.0.10 396 error couchbase@0.0.10 install: `node-gyp rebuild` 396 error `sh "-c" "node-gyp rebuild"` failed with 1 397 error Failed at the couchbase@0.0.10 install script. 397 error This is most likely a problem with the couchbase package, 397 error not with npm itself. 397 error Tell the author that this fails on your system: 397 error node-gyp rebuild 397 error You can get their info via: 397 error npm owner ls couchbase 397 error There is likely additional logging output above. 398 error System Darwin 11.4.2 399 error command "node" "/usr/local/bin/npm" "install" "couchbase" 400 error cwd /Users/hanskristian/training/couchnode 401 error node -v v0.8.8 402 error npm -v 1.1.46 403 error code ELIFECYCLE 404 verbose exit [ 1, true ]