andrewrk / node-groove

bindings to libgroove - music player backend library
MIT License
157 stars 16 forks source link

Cannot install on Cloud9 through npm #6

Closed randre03 closed 10 years ago

randre03 commented 10 years ago

I am using a new Cloud9 online IDE instance for a node project and install through npm fails. Logfile:

0 info it worked if it ends with ok
1 verbose cli [ '/home/ubuntu/.nvm/v0.10.28/bin/node',
1 verbose cli   '/home/ubuntu/.nvm/v0.10.28/bin/npm',
1 verbose cli   'install',
1 verbose cli   '--save',
1 verbose cli   'groove' ]
2 info using npm@1.4.9
3 info using node@v0.10.28
4 verbose cache add [ 'groove', null ]
5 verbose cache add name=undefined spec="groove" args=["groove",null]
6 verbose parsed url { protocol: null,
6 verbose parsed url   slashes: null,
6 verbose parsed url   auth: null,
6 verbose parsed url   host: null,
6 verbose parsed url   port: null,
6 verbose parsed url   hostname: null,
6 verbose parsed url   hash: null,
6 verbose parsed url   search: null,
6 verbose parsed url   query: null,
6 verbose parsed url   pathname: 'groove',
6 verbose parsed url   path: 'groove',
6 verbose parsed url   href: 'groove' }
7 silly lockFile 119ef294-groove groove
8 verbose lock groove /home/ubuntu/.npm/119ef294-groove.lock
9 silly lockFile 119ef294-groove groove
10 silly lockFile 119ef294-groove groove
11 verbose addNamed [ 'groove', '' ]
12 verbose addNamed [ null, '*' ]
13 silly lockFile e347a995-groove groove@
14 verbose lock groove@ /home/ubuntu/.npm/e347a995-groove.lock
15 silly addNameRange { name: 'groove', range: '*', hasData: false }
16 verbose url raw groove
17 verbose url resolving [ 'https://registry.npmjs.org/', './groove' ]
18 verbose url resolved https://registry.npmjs.org/groove
19 info trying registry request attempt 1 at 04:49:57
20 verbose etag "3MQA25CVPO9Q2BAHAY0Z8SI69"
21 http GET https://registry.npmjs.org/groove
22 http 304 https://registry.npmjs.org/groove
23 silly registry.get cb [ 304,
23 silly registry.get   { date: 'Thu, 24 Jul 2014 04:49:57 GMT',
23 silly registry.get     server: 'Apache',
23 silly registry.get     via: '1.1 varnish',
23 silly registry.get     'last-modified': 'Thu, 24 Jul 2014 04:49:57 GMT',
23 silly registry.get     'cache-control': 'max-age=60',
23 silly registry.get     etag: '"3MQA25CVPO9Q2BAHAY0Z8SI69"',
23 silly registry.get     'x-served-by': 'cache-ord1735-ORD',
23 silly registry.get     'x-cache': 'HIT',
23 silly registry.get     'x-cache-hits': '1',
23 silly registry.get     'x-timer': 'S1406177397.549284,VS0,VE0',
23 silly registry.get     vary: 'Accept',
23 silly registry.get     'content-length': '0',
23 silly registry.get     'keep-alive': 'timeout=10, max=50',
23 silly registry.get     connection: 'Keep-Alive' } ]
24 verbose etag groove from cache
25 silly addNameRange number 2 { name: 'groove', range: '*', hasData: true }
26 silly addNameRange versions [ 'groove',
26 silly addNameRange   [ '0.0.0',
26 silly addNameRange     '0.0.1',
26 silly addNameRange     '0.0.2',
26 silly addNameRange     '0.0.3',
26 silly addNameRange     '0.0.4',
26 silly addNameRange     '0.0.5',
26 silly addNameRange     '0.0.6',
26 silly addNameRange     '0.0.7',
26 silly addNameRange     '0.0.8',
26 silly addNameRange     '0.0.9',
26 silly addNameRange     '0.0.10',
26 silly addNameRange     '0.0.11',
26 silly addNameRange     '0.0.12',
26 silly addNameRange     '0.0.13',
26 silly addNameRange     '1.0.0',
26 silly addNameRange     '1.1.0',
26 silly addNameRange     '1.1.1',
26 silly addNameRange     '1.1.2',
26 silly addNameRange     '1.1.3',
26 silly addNameRange     '1.2.0',
26 silly addNameRange     '1.3.0',
26 silly addNameRange     '1.3.1',
26 silly addNameRange     '1.3.2',
26 silly addNameRange     '1.4.0',
26 silly addNameRange     '1.4.1',
26 silly addNameRange     '2.0.0',
26 silly addNameRange     '2.1.0',
26 silly addNameRange     '2.2.0',
26 silly addNameRange     '2.2.1',
26 silly addNameRange     '2.2.2',
26 silly addNameRange     '2.2.3',
26 silly addNameRange     '2.2.4' ] ]
27 verbose addNamed [ 'groove', '2.2.4' ]
28 verbose addNamed [ '2.2.4', '2.2.4' ]
29 silly lockFile 22baf3e8-groove-2-2-4 groove@2.2.4
30 verbose lock groove@2.2.4 /home/ubuntu/.npm/22baf3e8-groove-2-2-4.lock
31 silly lockFile 22baf3e8-groove-2-2-4 groove@2.2.4
32 silly lockFile 22baf3e8-groove-2-2-4 groove@2.2.4
33 silly lockFile e347a995-groove groove@
34 silly lockFile e347a995-groove groove@
35 silly resolved [ { name: 'groove',
35 silly resolved     version: '2.2.4',
35 silly resolved     description: 'bindings to libgroove - generic music player library',
35 silly resolved     main: 'lib/index.js',
35 silly resolved     author: { name: 'Andrew Kelley', email: 'superjoe30@gmail.com' },
35 silly resolved     repository: { type: 'git', url: 'https://github.com/andrewrk/node-groove' },
35 silly resolved     scripts: { test: 'node test/test.js', install: 'node-gyp rebuild' },
35 silly resolved     license: 'MIT',
35 silly resolved     engines: { node: '>=0.10.18' },
35 silly resolved     devDependencies: { ncp: '~0.5.1', tap: '~0.4.11' },
35 silly resolved     dependencies: { bindings: '~1.2.1' },
35 silly resolved     gypfile: true,
35 silly resolved     bugs: { url: 'https://github.com/andrewrk/node-groove/issues' },
35 silly resolved     homepage: 'https://github.com/andrewrk/node-groove',
35 silly resolved     directories: { example: 'example', test: 'test' },
35 silly resolved     readme: '# node-groove\n\nNode.js bindings to [libgroove](https://github.com/andrewrk/libgroove) -\ngeneric music player backend library.\n\nLive discussion in #libgroove IRC channel on irc.freenode.org.\n\n## Usage\n\n1. Install libgroove to your system.\n2. `npm install --save groove`\n\n### Get Metadata from File\n\n```js\nvar groove = require(\'groove\');\n\ngroove.open("danse-macabre.ogg", function(err, file) {\n  if (err) throw err;\n  console.log(file.metadata());\n  console.log("duration:", file.duration());\n  file.close(function(err) {\n    if (err) throw err;\n  });\n});\n```\n\n#### More Examples\n\n * example/metadata.js - read or update metadata in a media file\n * example/playlist.js - play several files in a row and then exit\n * example/replaygain.js - compute replaygain values for media files\n * example/transcode.js - convert and splice several files together\n * example/fingerprint.js - create an acoustid fingerprint for media files\n\n## API Documentation\n\n### globals\n\n#### groove.setLogging(level)\n\n`level` can be:\n\n * `groove.LOG_QUIET`\n * `groove.LOG_ERROR`\n * `groove.LOG_WARNING`\n * `groove.LOG_INFO`\n\n#### groove.loudnessToReplayGain(loudness)\n\nConverts a loudness value which is in LUFS to the ReplayGain-suggested dB\nadjustment.\n\n#### groove.dBToFloat(dB)\n\nConverts dB format volume adjustment to a floating point gain format.\n\n#### groove.getVersion()\n\nReturns an object with these properties:\n\n * `major`\n * `minor`\n * `patch`\n\n### GrooveFile\n\n#### groove.open(filename, callback)\n\n`callback(err, file)`\n\n#### file.close(callback)\n\n`callback(err)`\n\n#### file.duration()\n\nIn seconds.\n\n#### file.shortNames()\n\nA comma-separated list of short names for the format.\n\n#### file.getMetadata(key, [flags])\n\nFlags:\n\n * `groove.TAG_MATCH_CASE`\n * `groove.TAG_DONT_OVERWRITE`\n * `groove.TAG_APPEND`\n\n#### file.setMetadata(key, value, [flags])\n\nSee `getMetadata` for flags.\n\nPass `null` for `value` to delete a key.\n\n#### file.metadata()\n\nThis returns an object populated with all the metadata.\nUpdating the object does nothing. Use `setMetadata` to\nupdate metadata and then `save` to write changes to disk.\n\n#### file.dirty\n\nBoolean whether `save` will do anything.\n\n#### file.filename\n\nThe string that was passed to `groove.open`\n\n#### file.save(callback)\n\n`callback(err)`\n\n### GroovePlaylist\n\n#### groove.createPlaylist()\n\nA playlist managers keeping an audio buffer full. To send the buffer\nto your speakers, use `playlist.createPlayer()`.\n\n#### playlist.items()\n\nReturns a read-only array of playlist items.\nUse `playlist.insert` and `playlist.remove` to modify.\n\n`[playlistItem1, playlistItem2, ...]`\n\n#### playlist.play()\n\n#### playlist.pause()\n\n#### playlist.seek(playlistItem, position)\n\nSeek to `playlistItem`, `position` seconds into the song.\n\n#### playlist.insert(file, gain, peak, nextPlaylistItem)\n\nCreates a new playlist item with file and puts it in the playlist before\n`nextPlaylistItem`. If `nextPlaylistItem` is `null`, appends the new\nitem to the playlist.\n\n`gain` is a float format volume adjustment that applies only to this item.\ndefaults to 1.0\n\n`peak` is float format, see `item.peak`.\ndefaults to 1.0\n\nReturns the newly added playlist item.\n\nOnce you add a file to the playlist, you must not `file.close()` it until\nyou first remove it from the playlist.\n\n#### playlist.remove(playlistItem)\n\nRemove `playlistItem` from the playlist.\n\nNote that you are responsible for calling `file.close()` on every file\nthat you open with `groove.open`. `playlist.remove` will not close files.\n\n#### playlist.position()\n\nReturns `{item, pos}` where `item` is the playlist item currently being\ndecoded and `pos` is how many seconds into the song the decode head is.\n\nNote that typically you are more interested in the position of the play head,\nnot the decode head. Example methods which return the play head are\n`player.position()` and `encoder.position()`.\n\n#### playlist.playing()\n\nReturns `true` or `false`.\n\n#### playlist.clear()\n\nRemove all playlist items.\n\n#### playlist.count()\n\nHow many items are on the playlist.\n\n#### playlist.gain\n\n#### playlist.setGain(value)\n\nBetween 0.0 and 1.0. You probably want to leave this at 1.0, since using\nreplaygain will typically lower your volume a significant amount.\n\n#### playlist.setItemGain(playlistItem, gain)\n\n`gain` is a float that affects the volume of the specified playlist item only.\nTo convert from dB to float, use exp(log(10) * 0.05 * dBValue).\n\n#### playlist.setItemPeak(playlistItem, peak)\n\nSee `item.peak`\n\n#### playlist.setFillMode(mode)\n\n`mode` can be:\n\n * `groove.EVERY_SINK_FULL`\n\n    This is the default behavior. The playlist will decode audio if any sinks\n    are not full. If any sinks do not drain fast enough the data will buffer up\n    in the playlist.\n\n * `groove.ANY_SINK_FULL`\n\n    With this behavior, the playlist will stop decoding audio when any attached\n    sink is full, and then resume decoding audio every sink is not full.\n\nDefaults to `groove.EVERY_SINK_FULL`.\n\n### GroovePlaylistItem\n\nThese are not instantiated directly; instead they are returned from\n`playlist.items()`.\n\n#### item.file\n\n#### item.gain\n\nA volume adjustment in float format to apply to the file when it plays.\nThis is typically used for loudness compensation, for example ReplayGain.\nTo convert from dB to float, use `groove.dBToFloat`\n\n#### item.peak\n\nThe sample peak of this playlist item is assumed to be 1.0 in float\nformat. If you know for certain that the peak is less than 1.0, you\nmay set this value which may allow the volume adjustment to use\na pure amplifier rather than a compressor. This results in slightly\nbetter audio quality.\n\n#### item.id\n\nEvery time you obtain a playlist item from groove, you will get a fresh\nJavaScript object, but it might point to the same underlying libgroove pointer\nas another. The `id` field is a way to check if two playlist items reference\nthe same one.\n\n### GroovePlayer\n\n#### groove.getDevices()\n\nReturns an array of device names which are the devices you can send audio\nto.\n\n#### groove.createPlayer()\n\nCreates a GroovePlayer instance which you can then configure by setting\nproperties.\n\n#### player.deviceIndex\n\nBefore calling `attach()`, set this to the index of one of the devices\nreturned from `groove.getDevices()` or `null` to represent the default device.\nUse `groove.DUMMY_DEVICE` to represent a dummy audio player.\n\n#### player.targetAudioFormat\n\nThe desired audio format settings with which to open the device.\n`groove.createPlayer()` defaults these to 44100 Hz,\nsigned 16-bit int, stereo.\nThese are preferences; if a setting cannot be used, a substitute will\nbe used instead. In this case, actualAudioFormat will be updated to reflect\nthe substituted values.\n\nProperties:\n\n * `sampleRate`\n * `channelLayout`\n * `sampleFormat`\n\n#### player.actualAudioFormat\n\ngroove sets this to the actual format you get when you open the device.\nIdeally will be the same as targetAudioFormat but might not be.\n\nProperties:\n\n * `sampleRate`\n * `channelLayout`\n * `sampleFormat`\n\n#### player.deviceBufferSize\n\nhow big the device buffer should be, in sample frames.\nmust be a power of 2.\n`groove.createPlayer()` defaults this to 1024\n\n#### player.sinkBufferSize\n\nHow big the sink buffer should be, in sample frames.\n`groove.createPlayer()` defaults this to 8192\n\n#### player.attach(playlist, callback)\n\nSends audio to sound device.\n\n`callback(err)`\n\n#### player.detach(callback)\n\n`callback(err)`\n\n#### player.position()\n\nReturns `{item, pos}` where `item` is the playlist item currently being\nplayed and `pos` is how many seconds into the song the play head is.\n\n#### player.on(\'nowplaying\', handler)\n\nFires when the item that is now playing changes. It can be `null`.\n\n`handler()`\n\n#### player.on(\'bufferunderrun\', handler)\n\nFires when a buffer underrun occurs. Ideally you\'ll never see this.\n\n`handler()`\n\n### GrooveEncoder\n\n#### groove.createEncoder()\n\n#### encoder.bitRate\n\nselect encoding quality by choosing a target bit rate\n\n#### encoder.formatShortName\n\noptional - help libgroove guess which format to use.\n`avconv -formats` to get a list of possibilities.\n\n#### encoder.codecShortName\n\noptional - help libgroove guess which codec to use.\n`avconv-codecs` to get a list of possibilities.\n\n#### encoder.filename\n\noptional - provide an example filename to help libgroove guess\nwhich format/codec to use.\n\n#### encoder.mimeType\n\noptional - provide a mime type string to help libgrooove guess\nwhich format/codec to use.\n\n#### encoder.targetAudioFormat\n\nThe desired audio format settings with which to encode.\n`groove.createEncoder()` defaults these to 44100 Hz,\nsigned 16-bit int, stereo.\nThese are preferences; if a setting cannot be used, a substitute will\nbe used instead. In this case, actualAudioFormat will be updated to reflect\nthe substituted values.\n\nProperties:\n\n * `sampleRate`\n * `channelLayout`\n * `sampleFormat`\n\n#### encoder.actualAudioFormat\n\ngroove sets this to the actual format you get when you attach the encoder.\nIdeally will be the same as targetAudioFormat but might not be.\n\nProperties:\n\n * `sampleRate`\n * `channelLayout`\n * `sampleFormat`\n\n#### encoder.sinkBufferSize\n\nHow big the sink buffer should be, in sample frames.\n`createEncoder` defaults this to 8192\n\n#### encoder.encodedBufferSize\n\nHow big the encoded audio buffer should be, in bytes.\n`createEncoder` defaults this to 16384\n\n#### encoder.attach(playlist, callback)\n\n`callback(err)`\n\n#### encoder.detach(callback)\n\n`callback(err)`\n\n#### encoder.getBuffer()\n\nReturns `null` if no buffer available, or an object with these properties:\n\n * `buffer` - a node `Buffer` instance which is the encoded data for this chunk\n   this can be `null` in which case this buffer is actually the end of\n   playlist sentinel.\n * `item` - the GroovePlaylistItem of which this buffer is encoded data for\n * `pos` - position in seconds that this buffer represents in into the item\n\n#### encoder.on(\'buffer\', handler)\n\n`handler()`\n\nEmitted when there is a buffer available to get. You still need to get the\nbuffer with `getBuffer()`.\n\n#### encoder.position()\n\nReturns `{item, pos}` where `item` is the playlist item currently being\nencoded and `pos` is how many seconds into the song the encode head is.\n\n### GrooveLoudnessDetector\n\n#### groove.createLoudnessDetector()\n\nreturns a GrooveLoudnessDetector\n\n#### detector.infoQueueSize\n\nSet this to determine how far ahead into the playlist to look.\n\n#### detector.sinkBufferSize\n\nHow big the sink buffer should be, in sample frames.\n`groove.createLoudnessDetector()` defaults this to 8192\n\n#### detector.disableAlbum\n\nSet to `true` to only compute track loudness. This is faster and requires less\nmemory than computing both.\n\n#### detector.attach(playlist, callback)\n\n`callback(err)`\n\n#### detector.detach(callback)\n\n`callback(err)`\n\n#### detector.getInfo()\n\nReturns `null` if no info available, or an object with these properties:\n\n * `loudness` - loudness in LUFS\n * `peak` - sample peak in float format of the file\n * `duration` - duration in seconds of the track\n * `item` - the GroovePlaylistItem that this applies to, or `null` if it applies\n   to the entire album.\n\n#### detector.position()\n\nReturns `{item, pos}` where `item` is the playlist item currently being\ndetected and `pos` is how many seconds into the song the detect head is.\n\n#### detector.on(\'info\', handler)\n\n`handler()`\n\nEmitted when there is info available to get. You still need to get the info\nwith `getInfo()`.\n\n### GrooveFingerprinter\n\n#### groove.createFingerprinter()\n\nreturns a GrooveFingerprinter\n\n#### groove.encodeFingerprint(rawFingerprint)\n\nGiven an Array of integers which is the raw fingerprint, encode it into a\nstring which can be submitted to acoustid.org.\n\n#### groove.decodeFingerprint(fingerprint)\n\nGiven the fingerprint string, returns a list of integers which is the raw\nfingerprint data.\n\n#### printer.infoQueueSize\n\nSet this to determine how far ahead into the playlist to look.\n\n#### printer.sinkBufferSize\n\nHow big the sink buffer should be, in sample frames.\n`groove.createFingerprinter()` defaults this to 8192\n\n#### printer.attach(playlist, callback)\n\n`callback(err)`\n\n#### printer.detach(callback)\n\n`callback(err)`\n\n#### printer.getInfo()\n\nReturns `null` if no info available, or an object with these properties:\n\n * `fingerprint` - integer array which is the raw fingerprint\n * `duration` - duration in seconds of the track\n * `item` - the GroovePlaylistItem that this applies to, or `null` if it applies\n   to the entire album.\n\n#### printer.position()\n\nReturns `{item, pos}` where `item` is the playlist item currently being\nfingerprinted and `pos` is how many seconds into the song the printer head is.\n\n#### printer.on(\'info\', handler)\n\n`handler()`\n\nEmitted when there is info available to get. You still need to get the info\nwith `getInfo()`.\n',
35 silly resolved     readmeFilename: 'README.md',
35 silly resolved     _id: 'groove@2.2.4',
35 silly resolved     _shasum: '58c532e9850af6c1150a1d288e44a7e9055ee79d',
35 silly resolved     _from: 'groove@',
35 silly resolved     _resolved: 'https://registry.npmjs.org/groove/-/groove-2.2.4.tgz' } ]
36 info install groove@2.2.4 into /home/ubuntu/workspace
37 info installOne groove@2.2.4
38 info /home/ubuntu/workspace/node_modules/groove unbuild
39 verbose tar unpack /home/ubuntu/.npm/groove/2.2.4/package.tgz
40 silly lockFile 14717077-tu-workspace-node-modules-groove tar:///home/ubuntu/workspace/node_modules/groove
41 verbose lock tar:///home/ubuntu/workspace/node_modules/groove /home/ubuntu/.npm/14717077-tu-workspace-node-modules-groove.lock
42 silly lockFile 15b482f2-ntu-npm-groove-2-2-4-package-tgz tar:///home/ubuntu/.npm/groove/2.2.4/package.tgz
43 verbose lock tar:///home/ubuntu/.npm/groove/2.2.4/package.tgz /home/ubuntu/.npm/15b482f2-ntu-npm-groove-2-2-4-package-tgz.lock
44 silly gunzTarPerm modes [ '755', '644' ]
45 silly gunzTarPerm extractEntry package.json
46 silly gunzTarPerm extractEntry .npmignore
47 silly gunzTarPerm extractEntry README.md
48 silly gunzTarPerm extractEntry LICENSE
49 silly gunzTarPerm extractEntry binding.gyp
50 silly gunzTarPerm extractEntry example/fingerprint.js
51 silly gunzTarPerm extractEntry example/metadata.js
52 silly gunzTarPerm extractEntry example/playlist.js
53 silly gunzTarPerm extractEntry example/replaygain.js
54 silly gunzTarPerm extractEntry example/transcode.js
55 silly gunzTarPerm extractEntry lib/index.js
56 silly gunzTarPerm extractEntry src/gn_loudness_detector.h
57 silly gunzTarPerm extractEntry src/gn_encoder.cc
58 silly gunzTarPerm extractEntry src/gn_file.cc
59 silly gunzTarPerm extractEntry src/gn_file.h
60 silly gunzTarPerm extractEntry src/gn_fingerprinter.cc
61 silly gunzTarPerm extractEntry src/gn_fingerprinter.h
62 silly gunzTarPerm extractEntry src/gn_loudness_detector.cc
63 silly gunzTarPerm extractEntry src/gn_encoder.h
64 silly gunzTarPerm extractEntry src/gn_player.cc
65 silly gunzTarPerm extractEntry src/gn_player.h
66 silly gunzTarPerm extractEntry src/gn_playlist.cc
67 silly gunzTarPerm extractEntry src/gn_playlist.h
68 silly gunzTarPerm extractEntry src/gn_playlist_item.cc
69 silly gunzTarPerm extractEntry src/gn_playlist_item.h
70 silly gunzTarPerm extractEntry src/groove.cc
71 silly gunzTarPerm extractEntry test/test.js
72 silly gunzTarPerm extractEntry test/danse.ogg
73 silly lockFile 14717077-tu-workspace-node-modules-groove tar:///home/ubuntu/workspace/node_modules/groove
74 silly lockFile 14717077-tu-workspace-node-modules-groove tar:///home/ubuntu/workspace/node_modules/groove
75 silly lockFile 15b482f2-ntu-npm-groove-2-2-4-package-tgz tar:///home/ubuntu/.npm/groove/2.2.4/package.tgz
76 silly lockFile 15b482f2-ntu-npm-groove-2-2-4-package-tgz tar:///home/ubuntu/.npm/groove/2.2.4/package.tgz
77 info preinstall groove@2.2.4
78 verbose readDependencies using package.json deps
79 verbose readDependencies using package.json deps
80 verbose cache add [ 'bindings@~1.2.1', null ]
81 verbose cache add name=undefined spec="bindings@~1.2.1" args=["bindings@~1.2.1",null]
82 verbose parsed url { protocol: null,
82 verbose parsed url   slashes: null,
82 verbose parsed url   auth: null,
82 verbose parsed url   host: null,
82 verbose parsed url   port: null,
82 verbose parsed url   hostname: null,
82 verbose parsed url   hash: null,
82 verbose parsed url   search: null,
82 verbose parsed url   query: null,
82 verbose parsed url   pathname: 'bindings@~1.2.1',
82 verbose parsed url   path: 'bindings@~1.2.1',
82 verbose parsed url   href: 'bindings@~1.2.1' }
83 verbose cache add name="bindings" spec="~1.2.1" args=["bindings","~1.2.1"]
84 verbose parsed url { protocol: null,
84 verbose parsed url   slashes: null,
84 verbose parsed url   auth: null,
84 verbose parsed url   host: null,
84 verbose parsed url   port: null,
84 verbose parsed url   hostname: null,
84 verbose parsed url   hash: null,
84 verbose parsed url   search: null,
84 verbose parsed url   query: null,
84 verbose parsed url   pathname: '~1.2.1',
84 verbose parsed url   path: '~1.2.1',
84 verbose parsed url   href: '~1.2.1' }
85 verbose addNamed [ 'bindings', '~1.2.1' ]
86 verbose addNamed [ null, '>=1.2.1-0 <1.3.0-0' ]
87 silly lockFile b7a61b57-bindings-1-2-1 bindings@~1.2.1
88 verbose lock bindings@~1.2.1 /home/ubuntu/.npm/b7a61b57-bindings-1-2-1.lock
89 silly addNameRange { name: 'bindings', range: '>=1.2.1-0 <1.3.0-0', hasData: false }
90 verbose url raw bindings
91 verbose url resolving [ 'https://registry.npmjs.org/', './bindings' ]
92 verbose url resolved https://registry.npmjs.org/bindings
93 info trying registry request attempt 1 at 04:49:57
94 verbose etag "HHDEMUMZU8OTS1DUFQCBQQ8Z"
95 http GET https://registry.npmjs.org/bindings
96 http 304 https://registry.npmjs.org/bindings
97 silly registry.get cb [ 304,
97 silly registry.get   { date: 'Thu, 24 Jul 2014 04:49:57 GMT',
97 silly registry.get     server: 'Apache',
97 silly registry.get     via: '1.1 varnish',
97 silly registry.get     'last-modified': 'Thu, 24 Jul 2014 04:49:58 GMT',
97 silly registry.get     'cache-control': 'max-age=60',
97 silly registry.get     etag: '"HHDEMUMZU8OTS1DUFQCBQQ8Z"',
97 silly registry.get     'x-served-by': 'cache-ord1729-ORD',
97 silly registry.get     'x-cache': 'HIT',
97 silly registry.get     'x-cache-hits': '1',
97 silly registry.get     'x-timer': 'S1406177397.812733,VS0,VE291',
97 silly registry.get     vary: 'Accept',
97 silly registry.get     'content-length': '0',
97 silly registry.get     'keep-alive': 'timeout=10, max=50',
97 silly registry.get     connection: 'Keep-Alive' } ]
98 verbose etag bindings from cache
99 silly addNameRange number 2 { name: 'bindings', range: '>=1.2.1-0 <1.3.0-0', hasData: true }
100 silly addNameRange versions [ 'bindings',
100 silly addNameRange   [ '0.0.1',
100 silly addNameRange     '0.1.0',
100 silly addNameRange     '0.1.1',
100 silly addNameRange     '0.2.0',
100 silly addNameRange     '0.2.1',
100 silly addNameRange     '0.2.2',
100 silly addNameRange     '0.2.3',
100 silly addNameRange     '0.2.4',
100 silly addNameRange     '0.3.0',
100 silly addNameRange     '0.4.0',
100 silly addNameRange     '1.0.0',
100 silly addNameRange     '1.1.0',
100 silly addNameRange     '1.1.1',
100 silly addNameRange     '1.2.0',
100 silly addNameRange     '1.2.1' ] ]
101 verbose addNamed [ 'bindings', '1.2.1' ]
102 verbose addNamed [ '1.2.1', '1.2.1' ]
103 silly lockFile e9060511-bindings-1-2-1 bindings@1.2.1
104 verbose lock bindings@1.2.1 /home/ubuntu/.npm/e9060511-bindings-1-2-1.lock
105 silly lockFile e9060511-bindings-1-2-1 bindings@1.2.1
106 silly lockFile e9060511-bindings-1-2-1 bindings@1.2.1
107 silly lockFile b7a61b57-bindings-1-2-1 bindings@~1.2.1
108 silly lockFile b7a61b57-bindings-1-2-1 bindings@~1.2.1
109 silly resolved [ { name: 'bindings',
109 silly resolved     description: 'Helper module for loading your native module\'s .node file',
109 silly resolved     keywords: [ 'native', 'addon', 'bindings', 'gyp', 'waf', 'c', 'c++' ],
109 silly resolved     version: '1.2.1',
109 silly resolved     author:
109 silly resolved      { name: 'Nathan Rajlich',
109 silly resolved        email: 'nathan@tootallnate.net',
109 silly resolved        url: 'http://tootallnate.net' },
109 silly resolved     repository:
109 silly resolved      { type: 'git',
109 silly resolved        url: 'git://github.com/TooTallNate/node-bindings.git' },
109 silly resolved     main: './bindings.js',
109 silly resolved     bugs: { url: 'https://github.com/TooTallNate/node-bindings/issues' },
109 silly resolved     homepage: 'https://github.com/TooTallNate/node-bindings',
109 silly resolved     license: 'MIT',
109 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.<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 &lt;nathan@tootallnate.net&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.\n',
109 silly resolved     readmeFilename: 'README.md',
109 silly resolved     _id: 'bindings@1.2.1',
109 silly resolved     _shasum: '14ad6113812d2d37d72e67b4cacb4bb726505f11',
109 silly resolved     _from: 'bindings@~1.2.1',
109 silly resolved     _resolved: 'https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz' } ]
110 info install bindings@1.2.1 into /home/ubuntu/workspace/node_modules/groove
111 info installOne bindings@1.2.1
112 info /home/ubuntu/workspace/node_modules/groove/node_modules/bindings unbuild
113 verbose tar unpack /home/ubuntu/.npm/bindings/1.2.1/package.tgz
114 silly lockFile f133f754-les-groove-node-modules-bindings tar:///home/ubuntu/workspace/node_modules/groove/node_modules/bindings
115 verbose lock tar:///home/ubuntu/workspace/node_modules/groove/node_modules/bindings /home/ubuntu/.npm/f133f754-les-groove-node-modules-bindings.lock
116 silly lockFile 3862e75a-u-npm-bindings-1-2-1-package-tgz tar:///home/ubuntu/.npm/bindings/1.2.1/package.tgz
117 verbose lock tar:///home/ubuntu/.npm/bindings/1.2.1/package.tgz /home/ubuntu/.npm/3862e75a-u-npm-bindings-1-2-1-package-tgz.lock
118 silly gunzTarPerm modes [ '755', '644' ]
119 silly gunzTarPerm extractEntry package.json
120 silly gunzTarPerm extractEntry README.md
121 silly gunzTarPerm extractEntry bindings.js
122 silly lockFile f133f754-les-groove-node-modules-bindings tar:///home/ubuntu/workspace/node_modules/groove/node_modules/bindings
123 silly lockFile f133f754-les-groove-node-modules-bindings tar:///home/ubuntu/workspace/node_modules/groove/node_modules/bindings
124 silly lockFile 3862e75a-u-npm-bindings-1-2-1-package-tgz tar:///home/ubuntu/.npm/bindings/1.2.1/package.tgz
125 silly lockFile 3862e75a-u-npm-bindings-1-2-1-package-tgz tar:///home/ubuntu/.npm/bindings/1.2.1/package.tgz
126 info preinstall bindings@1.2.1
127 verbose readDependencies using package.json deps
128 verbose readDependencies using package.json deps
129 silly resolved []
130 verbose about to build /home/ubuntu/workspace/node_modules/groove/node_modules/bindings
131 info build /home/ubuntu/workspace/node_modules/groove/node_modules/bindings
132 verbose linkStuff [ false,
132 verbose linkStuff   false,
132 verbose linkStuff   false,
132 verbose linkStuff   '/home/ubuntu/workspace/node_modules/groove/node_modules' ]
133 info linkStuff bindings@1.2.1
134 verbose linkBins bindings@1.2.1
135 verbose linkMans bindings@1.2.1
136 verbose rebuildBundles bindings@1.2.1
137 info install bindings@1.2.1
138 info postinstall bindings@1.2.1
139 verbose about to build /home/ubuntu/workspace/node_modules/groove
140 info build /home/ubuntu/workspace/node_modules/groove
141 verbose linkStuff [ false, false, false, '/home/ubuntu/workspace/node_modules' ]
142 info linkStuff groove@2.2.4
143 verbose linkBins groove@2.2.4
144 verbose linkMans groove@2.2.4
145 verbose rebuildBundles groove@2.2.4
146 verbose rebuildBundles [ 'bindings' ]
147 info install groove@2.2.4
148 verbose unsafe-perm in lifecycle true
149 info groove@2.2.4 Failed to exec install script
150 info /home/ubuntu/workspace/node_modules/groove unbuild
151 info preuninstall groove@2.2.4
152 info uninstall groove@2.2.4
153 verbose true,/home/ubuntu/workspace/node_modules,/home/ubuntu/workspace/node_modules unbuild groove@2.2.4
154 info postuninstall groove@2.2.4
155 error groove@2.2.4 install: `node-gyp rebuild`
155 error Exit status 1
156 error Failed at the groove@2.2.4 install script.
156 error This is most likely a problem with the groove package,
156 error not with npm itself.
156 error Tell the author that this fails on your system:
156 error     node-gyp rebuild
156 error You can get their info via:
156 error     npm owner ls groove
156 error There is likely additional logging output above.
157 error System Linux 3.14-0.bpo.1-amd64
158 error command "/home/ubuntu/.nvm/v0.10.28/bin/node" "/home/ubuntu/.nvm/v0.10.28/bin/npm" "install" "--save" "groove"
159 error cwd /home/ubuntu/workspace
160 error node -v v0.10.28
161 error npm -v 1.4.9
162 error code ELIFECYCLE
163 verbose exit [ 1, true ]
andrewrk commented 10 years ago

I don't see node-groove error here. I suggest searching the Internet for ELIFECYCLE. Are you able to install any other native node modules?

randre03 commented 10 years ago

I'll give that a look. Have never had an issue installing any other native node modules.

On Thu, Jul 24, 2014 at 12:24 AM, Andrew Kelley notifications@github.com wrote:

I don't see node-groove error here. I suggest searching the Internet for ELIFECYCLE. Are you able to install any other native node modules?

— Reply to this email directly or view it on GitHub https://github.com/andrewrk/node-groove/issues/6#issuecomment-49968820.

-Roger

randre03 commented 10 years ago

I looked back at other similar issues and all seemed to point to installing another version of node which I don't have time to do at the moment. I am going to close the issue until I have time to devote to the install.