josephg / ShareJS

Collaborative editing in any app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to run 0.7 in the browser

thebookworm101 opened this issue · comments

This is what i i get with 0.7 :

 Uncaught TypeError: Cannot call method 'mixin' of undefined share.uncompressed.js:1782
 Uncaught TypeError: Object [object Object] has no method 'reset' share.uncompressed.js:1772

these are the lines:

  this.canSend = false

  // Reset some more state variables.
  this.reset();              // <<=== 1772

  this.debug = false;

  // I'll store the most recent 100 messages so when errors occur we can see
  // what happened.
  this.messageBuffer = [];

  this.bindToSocket(socket);
 }
 MicroEvent.mixin(Connection);    //  <<== 1782

i built share.uncompressed.js (with ottypes 0.6~ ) and used it as is on the example index.html in prototype/public . dunno what i did wrong. I asked on the list but i haven't got a reply so maybe its better to place it here.

I fixed these error in daf1682. Unfortunately it still does not work. The prototype is probably out of date since the last commit was August 23. If you want to run an example check out the branch in #267 and run grunt dist example:text.
If we decide to merge #267 i will make sure the example is basically the same as the prototype. Otherwise I will fix the prototype.

Thanks for the response, unfortunately i did not quite understand you, did you mean that #267 will work if i check it out and build it? i checked out #267 but the result still does not work (i tried share.js in the browser built from it , but it does not seem to set window.sharejs ). i built with grunt dist rather than grunt dist example:text because the latter gave me a ENOENT error. Did i get you right that #267 should run the example successfully?

If you load the dist/share.js in the browser you can use sharejs = require('share') to get the ShareJS object.

Yes, with the browserify branch of my repo the example should run. I checked out a clean browserify, ran npm install and grunt dist example:text. That fired up a working I used to editing a document simultaneously and two browsers. Could you give me more details on the ENOENT error?

Ok, with a fresh git tree, i can run the grunt command,
and it serves to the browser, but then fails on the firt connection with a browser , (no ENOENT this time maybe i did not get some requirement last time)

/appcl/nodez/node_modules/sh07$ ../.bin/grunt  dist example:text 
Running "dist:build" task

Running "uglify:dist" (uglify) task
File "dist/share.min.js" created.

Running "example:text" (example) task
ShareJS text examples running on http://localhost:3000
GET / 200 9ms - 761b
GET /share-textarea.js 200 4ms - 5.57kb
GET /bcsocket.js 200 10ms - 46.93kb
GET /share.js 200 8ms - 115.08kb
GET /favicon.ico 404 2ms
>>> server send
{ a: 'init',
  protocol: 0,
  id: '9c3fccca3b5019d31788cad62fb1f699' }
<<< client receive
{ a: 'sub', c: 'shared', d: 'notes' }
node_redis: no callback to send error: ERR wrong number of arguments for 'eval' command
>>> server send
{ data: { v: 0 }, a: 'sub', c: 'shared', d: 'notes' }

/appcl/nodez/node_modules/sh07/node_modules/redis/index.js:570
            throw err;
                  ^
Error: ERR wrong number of arguments for 'eval' command
  at ReplyParser.<anonymous> (/appcl/nodez/node_modules/sh07/node_modules/redis/index.js:308:31)
  at ReplyParser.EventEmitter.emit (events.js:95:17)
  at ReplyParser.send_error (/appcl/nodez/node_modules/sh07/node_modules/redis/lib/parser/javascript.js:296:10)
  at ReplyParser.execute (/appcl/nodez/node_modules/sh07/node_modules/redis/lib/parser/javascript.js:181:22)
  at RedisClient.on_data (/appcl/nodez/node_modules/sh07/node_modules/redis/index.js:535:27)
  at Socket.<anonymous> (/appcl/nodez/node_modules/sh07/node_modules/redis/index.js:91:14)
  at Socket.EventEmitter.emit (events.js:95:17)
  at Socket.<anonymous> (_stream_readable.js:746:14)
  at Socket.EventEmitter.emit (events.js:92:17)
  at emitReadable_ (_stream_readable.js:408:10)
  at emitReadable (_stream_readable.js:404:5)
  at readableAddChunk (_stream_readable.js:165:9)
  at Socket.Readable.push (_stream_readable.js:127:10)
  at TCP.onread (net.js:526:21)

Warning:  Use --force to continue.

Aborted due to warnings.
mike@mike-image:/appcl/nodez/node_modules/sh07$ git branch 
  master
* pr/267
mike@mike-image:/appcl/nodez/node_modules/sh07$ ls dist/
share.js  share.min.js

@thebookworm101 can you post the output of npm ls redis and npm ls livedb please?

@dignifiedquire

here:

/appcl/nodez/node_modules/sh07$ npm ls redis
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires hoek@'0.9.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/hoek,
npm WARN unmet dependency which is version 1.1.1
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires boom@'0.4.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/boom,
npm WARN unmet dependency which is version 1.1.0
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires cryptiles@'0.2.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/cryptiles,
npm WARN unmet dependency which is version 1.0.1
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires sntp@'0.2.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/sntp,
npm WARN unmet dependency which is version 1.0.1
share@0.7.0-alpha9 /appcl/nodez/node_modules/sh07
├─┬ karma@0.10.2
│ └─┬ socket.io@0.9.16
│   └── redis@0.7.3 
└── redis@0.8.6 

mike@mike-image:/appcl/nodez/node_modules/sh07$ npm ls livedb 
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires hoek@'0.9.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/hoek,
npm WARN unmet dependency which is version 1.1.1
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires boom@'0.4.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/boom,
npm WARN unmet dependency which is version 1.1.0
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires cryptiles@'0.2.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/cryptiles,
npm WARN unmet dependency which is version 1.0.1
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires sntp@'0.2.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/sntp,
npm WARN unmet dependency which is version 1.0.1
share@0.7.0-alpha9 /appcl/nodez/node_modules/sh07
└── livedb@0.2.6 

This looks like the error we encountered with travis but were unable to reproduce locally. Your livedb and redis version match mine, so this is not the problem. Could you please post the full output of npm ls and redis-server --version. I am running version 2.6.7 of redis on Ubuntu 13.04 32bit.

I've seen this error. It happened to me when I was trying to run livedb on
a redis 2.4 instance. The 2.6 series is required for the scripted commands
now used by sharejs (EVAL).

On Tue, Oct 22, 2013 at 10:14 AM, geigerzaehler notifications@github.comwrote:

This looks like the error we encountered with travis but were unable to
reproduce locally. Your livedb and redis version match mine, so this is not
the problem. Could you please post the full output of npm ls and redis-server
--version. I am running version 2.6.7 of redis on Ubuntu 13.04 32bit.


Reply to this email directly or view it on GitHubhttps://github.com//issues/266#issuecomment-26806242
.

@geigerzaehler
here is npm ls

/appcl/nodez/node_modules/sh07$ npm ls
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires hoek@'0.9.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/hoek,
npm WARN unmet dependency which is version 1.1.1
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires boom@'0.4.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/boom,
npm WARN unmet dependency which is version 1.1.0
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires cryptiles@'0.2.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/cryptiles,
npm WARN unmet dependency which is version 1.0.1
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/browserchannel/node_modules/request/node_modules/hawk requires sntp@'0.2.x' but will load
npm WARN unmet dependency /appcl/nodez/node_modules/sh07/node_modules/sntp,
npm WARN unmet dependency which is version 1.0.1
share@0.7.0-alpha9 /appcl/nodez/node_modules/sh07
├── async@0.2.9
├─┬ boom@1.1.0 invalid
│ └── hoek@1.1.1
├─┬ browserchannel@1.0.8
│ └─┬ request@2.27.0
│   ├── aws-sign@0.3.0
│   ├── cookie-jar@0.3.0
│   ├── forever-agent@0.5.0
│   ├─┬ form-data@0.1.2
│   │ └─┬ combined-stream@0.0.4
│   │   └── delayed-stream@0.0.5
│   ├── hawk@1.0.0
│   ├─┬ http-signature@0.10.0
│   │ ├── asn1@0.1.11
│   │ ├── assert-plus@0.1.2
│   │ └── ctype@0.5.2
│   ├── json-stringify-safe@5.0.0
│   ├── mime@1.2.11
│   ├── node-uuid@1.4.1
│   ├── oauth-sign@0.3.0
│   ├── qs@0.6.5
│   └── tunnel-agent@0.3.0
├─┬ browserify@2.34.3
│ ├─┬ browser-builtins@2.0.5
│ │ ├─┬ buffer-browserify@0.2.2
│ │ │ └── base64-js@0.0.2
│ │ ├── console-browserify@1.0.1
│ │ ├── constants-browserify@0.0.1
│ │ ├── crypto-browserify@1.0.5
│ │ ├─┬ http-browserify@0.1.13
│ │ │ └── Base64@0.1.4
│ │ ├── os-browserify@0.1.1
│ │ ├── punycode@1.2.3
│ │ ├── vm-browserify@0.0.1
│ │ └─┬ zlib-browserify@0.0.3
│ │   └─┬ tape@0.2.2
│ │     ├── deep-equal@0.0.0
│ │     ├── defined@0.0.0
│ │     └── jsonify@0.0.0
│ ├─┬ browser-pack@0.11.0
│ │ └─┬ combine-source-map@0.2.0
│ │   ├── convert-source-map@0.2.6
│ │   ├── inline-source-map@0.2.5
│ │   └─┬ source-map@0.1.30
│ │     └── amdefine@0.1.0
│ ├─┬ browser-resolve@1.1.4
│ │ └── resolve@0.5.1
│ ├─┬ concat-stream@1.0.1
│ │ └─┬ bops@0.0.6
│ │   ├── base64-js@0.0.2
│ │   └── to-utf8@0.0.1
│ ├── deep-equal@0.1.0
│ ├─┬ deps-sort@0.1.1
│ │ └── minimist@0.0.5
│ ├── duplexer@0.1.1
│ ├── inherits@1.0.0
│ ├─┬ insert-module-globals@1.3.1
│ │ ├── commondir@0.0.1
│ │ ├── duplexer@0.0.4
│ │ ├─┬ JSONStream@0.4.4
│ │ │ └── jsonparse@0.0.5
│ │ ├─┬ lexical-scope@0.0.14
│ │ │ └─┬ astw@0.0.0
│ │ │   └── esprima@1.0.2
│ │ ├── process@0.5.1
│ │ └── through@2.2.7
│ ├─┬ JSONStream@0.6.4
│ │ ├── jsonparse@0.0.5
│ │ └── through@2.2.7
│ ├─┬ module-deps@1.0.2
│ │ ├─┬ detective@2.1.2
│ │ │ ├─┬ escodegen@0.0.15
│ │ │ │ └─┬ source-map@0.1.30
│ │ │ │   └── amdefine@0.1.0
│ │ │ └── esprima@1.0.2
│ │ ├── minimist@0.0.5
│ │ └── resolve@0.4.3
│ ├─┬ optimist@0.5.2
│ │ └── wordwrap@0.0.2
│ ├── parents@0.0.1
│ ├── shell-quote@0.0.1
│ ├─┬ stream-combiner@0.0.2
│ │ └── duplexer@0.0.4
│ ├─┬ syntax-error@0.0.1
│ │ └── esprima@0.9.9
│ ├── through@2.3.4
│ └─┬ umd@1.3.1
│   ├─┬ rfile@1.0.0
│   │ ├── callsite@1.0.0
│   │ └── resolve@0.3.1
│   └─┬ ruglify@1.0.0
│     └─┬ uglify-js@2.2.5
│       ├─┬ optimist@0.3.7
│       │ └── wordwrap@0.0.2
│       └─┬ source-map@0.1.30
│         └── amdefine@0.1.0
├─┬ chai@1.8.1
│ ├── assertion-error@1.0.0
│ └─┬ deep-eql@0.1.3
│   └── type-detect@0.1.1
├── coffee-script@1.6.3
├─┬ coffeeify@0.5.2
│ ├── convert-source-map@0.2.6
│ └── through@2.3.4
├─┬ connect@2.9.2
│ ├── buffer-crc32@0.2.1
│ ├── bytes@0.2.0
│ ├── cookie@0.1.0
│ ├── cookie-signature@1.0.1
│ ├── debug@0.7.2
│ ├── fresh@0.2.0
│ ├── methods@0.0.1
│ ├─┬ multiparty@2.2.0
│ │ ├─┬ readable-stream@1.1.9
│ │ │ ├── core-util-is@1.0.0
│ │ │ └── debuglog@0.0.2
│ │ └── stream-counter@0.2.0
│ ├── negotiator@0.2.8
│ ├── pause@0.0.1
│ ├── qs@0.6.5
│ ├── raw-body@0.0.3
│ ├─┬ send@0.1.4
│ │ ├── mime@1.2.11
│ │ └── range-parser@0.0.4
│ └── uid2@0.0.2
├── cryptiles@1.0.1 invalid extraneous
├─┬ express@3.4.2
│ ├── buffer-crc32@0.2.1
│ ├─┬ commander@1.3.2
│ │ └── keypress@0.1.0
│ ├── cookie@0.1.0
│ ├── cookie-signature@1.0.1
│ ├── debug@0.7.2
│ ├── fresh@0.2.0
│ ├── methods@0.0.1
│ ├── mkdirp@0.3.5
│ ├── range-parser@0.0.4
│ └─┬ send@0.1.4
│   └── mime@1.2.11
├─┬ grunt@0.4.1
│ ├── async@0.1.22
│ ├── coffee-script@1.3.3
│ ├── colors@0.6.2
│ ├── dateformat@1.0.2-1.2.3
│ ├── eventemitter2@0.4.13
│ ├─┬ findup-sync@0.1.2
│ │ └── lodash@1.0.1
│ ├─┬ glob@3.1.21
│ │ ├── graceful-fs@1.2.3
│ │ └── inherits@1.0.0
│ ├── hooker@0.2.3
│ ├── iconv-lite@0.2.11
│ ├─┬ js-yaml@2.0.5
│ │ ├─┬ argparse@0.1.15
│ │ │ ├── underscore@1.4.4
│ │ │ └── underscore.string@2.3.3
│ │ └── esprima@1.0.4
│ ├── lodash@0.9.2
│ ├─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.4
│ ├─┬ rimraf@2.0.3
│ │ └── graceful-fs@1.1.14
│ ├── underscore.string@2.2.1
│ └── which@1.0.5
├─┬ grunt-contrib-uglify@0.2.4
│ └─┬ grunt-lib-contrib@0.6.1
│   └── zlib-browserify@0.0.1
├─┬ grunt-contrib-watch@0.5.3
│ ├─┬ gaze@0.4.3
│ │ └─┬ globule@0.1.0
│ │   ├─┬ glob@3.1.21
│ │   │ ├── graceful-fs@1.2.3
│ │   │ └── inherits@1.0.0
│ │   ├── lodash@1.0.1
│ │   └─┬ minimatch@0.2.12
│ │     ├── lru-cache@2.3.1
│ │     └── sigmund@1.0.0
│ └─┬ tiny-lr@0.0.4
│   ├── debug@0.7.2
│   ├── faye-websocket@0.4.4
│   ├─┬ noptify@0.0.3
│   │ └─┬ nopt@2.0.0
│   │   └── abbrev@1.0.4
│   └── qs@0.5.6
├── grunt-karma@0.6.2
├── grunt-simple-mocha@0.4.0
├── hat@0.0.3
├── hoek@1.1.1 invalid extraneous
├─┬ karma@0.10.2
│ ├── chokidar@0.6.3
│ ├── colors@0.6.0-1
│ ├─┬ connect@2.8.8
│ │ ├── buffer-crc32@0.2.1
│ │ ├── bytes@0.2.0
│ │ ├── cookie@0.1.0
│ │ ├── cookie-signature@1.0.1
│ │ ├── debug@0.7.2
│ │ ├── formidable@1.0.14
│ │ ├── fresh@0.2.0
│ │ ├── methods@0.0.1
│ │ ├── pause@0.0.1
│ │ ├── qs@0.6.5
│ │ ├─┬ send@0.1.4
│ │ │ └── range-parser@0.0.4
│ │ └── uid2@0.0.2
│ ├── di@0.0.1
│ ├─┬ glob@3.1.21
│ │ └── inherits@1.0.0
│ ├── graceful-fs@1.2.3
│ ├─┬ http-proxy@0.10.3
│ │ ├── pkginfo@0.2.3
│ │ └─┬ utile@0.1.7
│ │   ├── async@0.1.22
│ │   ├── deep-equal@0.1.0
│ │   ├── i@0.3.2
│ │   ├── mkdirp@0.3.5
│ │   ├── ncp@0.2.7
│ │   └── rimraf@1.0.9
│ ├── lodash@1.1.1
│ ├─┬ log4js@0.6.9
│ │ ├── async@0.1.15
│ │ ├── readable-stream@1.0.17
│ │ └── semver@1.1.4
│ ├── mime@1.2.11
│ ├─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ ├─┬ optimist@0.3.7
│ │ └── wordwrap@0.0.2
│ ├── q@0.9.7
│ ├── rimraf@2.1.4
│ ├─┬ socket.io@0.9.16
│ │ ├── base64id@0.1.0
│ │ ├── policyfile@0.0.4
│ │ ├── redis@0.7.3
│ │ └─┬ socket.io-client@0.9.16
│ │   ├─┬ active-x-obfuscator@0.0.1
│ │   │ └── zeparser@0.0.5
│ │   ├── uglify-js@1.2.5
│ │   ├─┬ ws@0.4.31
│ │   │ ├── commander@0.6.1
│ │   │ ├── nan@0.3.2
│ │   │ ├── options@0.0.5
│ │   │ └── tinycolor@0.0.1
│ │   └── xmlhttprequest@1.4.2
│ └─┬ useragent@2.0.7
│   └── lru-cache@2.2.4
├─┬ karma-browserify@0.0.5
│ ├─┬ browserify@2.18.1
│ │ ├─┬ browser-builtins@1.0.7
│ │ │ ├─┬ buffer-browserify@0.1.0
│ │ │ │ └── base64-js@0.0.2
│ │ │ ├── console-browserify@0.1.6
│ │ │ ├── constants-browserify@0.0.1
│ │ │ ├── crypto-browserify@1.0.5
│ │ │ ├─┬ http-browserify@0.1.13
│ │ │ │ ├── Base64@0.1.4
│ │ │ │ └─┬ concat-stream@1.0.1
│ │ │ │   └─┬ bops@0.0.6
│ │ │ │     ├── base64-js@0.0.2
│ │ │ │     └── to-utf8@0.0.1
│ │ │ ├── punycode@1.2.3
│ │ │ ├── resolve@0.3.1
│ │ │ ├── vm-browserify@0.0.1
│ │ │ └─┬ zlib-browserify@0.0.3
│ │ │   └─┬ tape@0.2.2
│ │ │     ├── deep-equal@0.0.0
│ │ │     ├── defined@0.0.0
│ │ │     └── jsonify@0.0.0
│ │ ├─┬ browser-pack@0.9.4
│ │ │ └─┬ combine-source-map@0.1.3
│ │ │   ├── convert-source-map@0.2.6
│ │ │   ├─┬ inline-source-map@0.2.5
│ │ │   │ └─┬ source-map@0.1.30
│ │ │   │   └── amdefine@0.1.0
│ │ │   └── parse-base64vlq-mappings@0.1.4
│ │ ├─┬ browser-resolve@1.0.1 (git://github.com/substack/node-browser-resolve.git#2bf4edad2205a05ebfe8fe1b836401120081ebc5)
│ │ │ └── resolve@0.4.0
│ │ ├── concat-stream@0.1.1
│ │ ├── duplexer@0.0.4
│ │ ├── inherits@1.0.0
│ │ ├─┬ insert-module-globals@0.2.1
│ │ │ ├── commondir@0.0.1
│ │ │ ├─┬ JSONStream@0.4.4
│ │ │ │ └── jsonparse@0.0.5
│ │ │ ├─┬ lexical-scope@0.0.14
│ │ │ │ └─┬ astw@0.0.0
│ │ │ │   └── esprima@1.0.2
│ │ │ ├── process@0.5.1
│ │ │ └── through@2.2.7
│ │ ├─┬ JSONStream@0.6.4
│ │ │ ├── jsonparse@0.0.5
│ │ │ └── through@2.2.7
│ │ ├─┬ module-deps@0.10.3
│ │ │ ├─┬ concat-stream@1.0.1
│ │ │ │ └─┬ bops@0.0.6
│ │ │ │   ├── base64-js@0.0.2
│ │ │ │   └── to-utf8@0.0.1
│ │ │ ├─┬ detective@2.1.2
│ │ │ │ ├─┬ escodegen@0.0.15
│ │ │ │ │ └─┬ source-map@0.1.30
│ │ │ │ │   └── amdefine@0.1.0
│ │ │ │ └── esprima@1.0.2
│ │ │ └── resolve@0.4.3
│ │ ├─┬ optimist@0.5.2
│ │ │ └── wordwrap@0.0.2
│ │ ├── shell-quote@0.0.1
│ │ ├─┬ syntax-error@0.0.1
│ │ │ └── esprima@0.9.9
│ │ └─┬ umd@1.1.1
│ │   ├─┬ rfile@1.0.0
│ │   │ ├── callsite@1.0.0
│ │   │ └── resolve@0.3.1
│ │   ├── ruglify@1.0.0
│ │   └─┬ uglify-js@2.2.5
│ │     ├─┬ optimist@0.3.7
│ │     │ └── wordwrap@0.0.2
│ │     └─┬ source-map@0.1.30
│ │       └── amdefine@0.1.0
│ ├── chokidar@0.6.3
│ └── through@2.3.4
├── karma-chrome-launcher@0.1.0
├── karma-coffee-preprocessor@0.1.0
├── karma-firefox-launcher@0.1.0
├── karma-html2js-preprocessor@0.1.0
├── karma-jasmine@0.1.3
├── karma-mocha@0.1.0
├─┬ karma-phantomjs-launcher@0.1.0
│ └─┬ phantomjs@1.9.2-2
│   ├── adm-zip@0.2.1
│   ├── kew@0.1.7
│   ├── mkdirp@0.3.5
│   ├── ncp@0.4.2
│   ├─┬ npmconf@0.0.24
│   │ ├─┬ config-chain@1.1.8
│   │ │ └── proto-list@1.2.2
│   │ ├── inherits@1.0.0
│   │ ├── ini@1.1.0
│   │ ├─┬ nopt@2.1.2
│   │ │ └── abbrev@1.0.4
│   │ ├── once@1.1.1
│   │ ├── osenv@0.0.3
│   │ └── semver@1.1.4
│   ├─┬ rimraf@2.0.3
│   │ └── graceful-fs@1.1.14
│   └── which@1.0.5
├── karma-requirejs@0.1.0
├── karma-script-launcher@0.1.0
├─┬ livedb@0.2.6
│ ├── arraydiff@0.1.1
│ ├── deep-is@0.1.2
│ ├─┬ hiredis@0.1.15
│ │ └── bindings@1.1.1
│ ├── ottypes@1.0.0
│ └── statsd-client@0.0.15
├─┬ mocha@1.13.0
│ ├── commander@0.6.1
│ ├── debug@0.7.2
│ ├── diff@1.0.7
│ ├─┬ glob@3.2.3
│ │ ├── graceful-fs@2.0.1
│ │ ├── inherits@2.0.1
│ │ └─┬ minimatch@0.2.12
│ │   ├── lru-cache@2.3.1
│ │   └── sigmund@1.0.0
│ ├── growl@1.7.0
│ ├─┬ jade@0.26.3
│ │ └── mkdirp@0.3.0
│ └── mkdirp@0.3.5
├─┬ optimist@0.6.0
│ ├── minimist@0.0.5
│ └── wordwrap@0.0.2
├── ottypes@0.6.2
├── redis@0.8.6
├── semver@2.1.0
├─┬ sinon@1.7.1
│ └─┬ buster-format@0.5.6
│   └── buster-core@0.6.4
├─┬ sntp@1.0.1 invalid extraneous
│ └── hoek@1.1.1
└─┬ uglify-js@2.4.0
  ├─┬ optimist@0.3.7
  │ └── wordwrap@0.0.2
  ├─┬ source-map@0.1.30
  │ └── amdefine@0.1.0
  └── uglify-to-browserify@1.0.1

npm ERR! extraneous: cryptiles@1.0.1 /appcl/nodez/node_modules/sh07/node_modules/cryptiles
npm ERR! invalid: cryptiles@1.0.1 /appcl/nodez/node_modules/sh07/node_modules/cryptiles
npm ERR! extraneous: hoek@1.1.1 /appcl/nodez/node_modules/sh07/node_modules/hoek
npm ERR! invalid: hoek@1.1.1 /appcl/nodez/node_modules/sh07/node_modules/hoek
npm ERR! invalid: boom@1.1.0 /appcl/nodez/node_modules/sh07/node_modules/boom
npm ERR! extraneous: sntp@1.0.1 /appcl/nodez/node_modules/sh07/node_modules/sntp
npm ERR! invalid: sntp@1.0.1 /appcl/nodez/node_modules/sh07/node_modules/sntp
npm ERR! not ok code 0
mike@mike-image:/appcl/nodez/node_modules/sh07$ 

and here is redis-server -version

mike@mike-image:/appcl/nodez/node_modules/sh07$ redis-server --version
Redis server v=2.6.7 sha=00000000:0 malloc=jemalloc-3.0.0 bits=64

and for @ggoodman seems like im already on redis 2.6x

now i tried all this with a complely fresh directory new node modules and all that: and still the error persists:

here is npm ls from this fresh dir structure

mike@mike-image:/appcl/nodez/test/ShareJS$ npm ls 
share@0.7.0-alpha9 /appcl/nodez/test/ShareJS
├── async@0.2.9
├─┬ browserchannel@1.0.8
│ └─┬ request@2.27.0
│   ├── aws-sign@0.3.0
│   ├── cookie-jar@0.3.0
│   ├── forever-agent@0.5.0
│   ├─┬ form-data@0.1.2
│   │ └─┬ combined-stream@0.0.4
│   │   └── delayed-stream@0.0.5
│   ├─┬ hawk@1.0.0
│   │ ├── boom@0.4.2
│   │ ├── cryptiles@0.2.2
│   │ ├── hoek@0.9.1
│   │ └── sntp@0.2.4
│   ├─┬ http-signature@0.10.0
│   │ ├── asn1@0.1.11
│   │ ├── assert-plus@0.1.2
│   │ └── ctype@0.5.2
│   ├── json-stringify-safe@5.0.0
│   ├── mime@1.2.11
│   ├── node-uuid@1.4.1
│   ├── oauth-sign@0.3.0
│   ├── qs@0.6.5
│   └── tunnel-agent@0.3.0
├─┬ browserify@2.34.3
│ ├─┬ browser-builtins@2.0.5
│ │ ├─┬ buffer-browserify@0.2.2
│ │ │ └── base64-js@0.0.2
│ │ ├── console-browserify@1.0.1
│ │ ├── constants-browserify@0.0.1
│ │ ├── crypto-browserify@1.0.5
│ │ ├─┬ http-browserify@0.1.13
│ │ │ └── Base64@0.1.4
│ │ ├── os-browserify@0.1.1
│ │ ├── punycode@1.2.3
│ │ ├── vm-browserify@0.0.1
│ │ └─┬ zlib-browserify@0.0.3
│ │   └─┬ tape@0.2.2
│ │     ├── deep-equal@0.0.0
│ │     ├── defined@0.0.0
│ │     └── jsonify@0.0.0
│ ├─┬ browser-pack@0.11.0
│ │ └─┬ combine-source-map@0.2.0
│ │   ├── convert-source-map@0.2.6
│ │   ├── inline-source-map@0.2.5
│ │   └─┬ source-map@0.1.30
│ │     └── amdefine@0.1.0
│ ├─┬ browser-resolve@1.1.4
│ │ └── resolve@0.5.1
│ ├─┬ concat-stream@1.0.1
│ │ └─┬ bops@0.0.6
│ │   ├── base64-js@0.0.2
│ │   └── to-utf8@0.0.1
│ ├── deep-equal@0.1.0
│ ├─┬ deps-sort@0.1.1
│ │ └── minimist@0.0.5
│ ├── duplexer@0.1.1
│ ├── inherits@1.0.0
│ ├─┬ insert-module-globals@1.3.1
│ │ ├── commondir@0.0.1
│ │ ├── duplexer@0.0.4
│ │ ├─┬ JSONStream@0.4.4
│ │ │ └── jsonparse@0.0.5
│ │ ├─┬ lexical-scope@0.0.14
│ │ │ └─┬ astw@0.0.0
│ │ │   └── esprima@1.0.2
│ │ ├── process@0.5.1
│ │ └── through@2.2.7
│ ├─┬ JSONStream@0.6.4
│ │ ├── jsonparse@0.0.5
│ │ └── through@2.2.7
│ ├─┬ module-deps@1.0.2
│ │ ├─┬ detective@2.1.2
│ │ │ ├─┬ escodegen@0.0.15
│ │ │ │ └─┬ source-map@0.1.30
│ │ │ │   └── amdefine@0.1.0
│ │ │ └── esprima@1.0.2
│ │ ├── minimist@0.0.5
│ │ └── resolve@0.4.3
│ ├─┬ optimist@0.5.2
│ │ └── wordwrap@0.0.2
│ ├── parents@0.0.1
│ ├── shell-quote@0.0.1
│ ├─┬ stream-combiner@0.0.2
│ │ └── duplexer@0.0.4
│ ├─┬ syntax-error@0.0.1
│ │ └── esprima@0.9.9
│ ├── through@2.3.4
│ └─┬ umd@1.3.1
│   ├─┬ rfile@1.0.0
│   │ ├── callsite@1.0.0
│   │ └── resolve@0.3.1
│   └─┬ ruglify@1.0.0
│     └─┬ uglify-js@2.2.5
│       ├─┬ optimist@0.3.7
│       │ └── wordwrap@0.0.2
│       └─┬ source-map@0.1.30
│         └── amdefine@0.1.0
├─┬ chai@1.8.1
│ ├── assertion-error@1.0.0
│ └─┬ deep-eql@0.1.3
│   └── type-detect@0.1.1
├── coffee-script@1.6.3
├─┬ coffeeify@0.5.2
│ ├── convert-source-map@0.2.6
│ └── through@2.3.4
├─┬ connect@2.9.2
│ ├── buffer-crc32@0.2.1
│ ├── bytes@0.2.0
│ ├── cookie@0.1.0
│ ├── cookie-signature@1.0.1
│ ├── debug@0.7.2
│ ├── fresh@0.2.0
│ ├── methods@0.0.1
│ ├─┬ multiparty@2.2.0
│ │ ├─┬ readable-stream@1.1.9
│ │ │ ├── core-util-is@1.0.0
│ │ │ └── debuglog@0.0.2
│ │ └── stream-counter@0.2.0
│ ├── negotiator@0.2.8
│ ├── pause@0.0.1
│ ├── qs@0.6.5
│ ├── raw-body@0.0.3
│ ├─┬ send@0.1.4
│ │ ├── mime@1.2.11
│ │ └── range-parser@0.0.4
│ └── uid2@0.0.2
├─┬ express@3.4.2
│ ├── buffer-crc32@0.2.1
│ ├─┬ commander@1.3.2
│ │ └── keypress@0.1.0
│ ├── cookie@0.1.0
│ ├── cookie-signature@1.0.1
│ ├── debug@0.7.2
│ ├── fresh@0.2.0
│ ├── methods@0.0.1
│ ├── mkdirp@0.3.5
│ ├── range-parser@0.0.4
│ └─┬ send@0.1.4
│   └── mime@1.2.11
├─┬ grunt@0.4.1
│ ├── async@0.1.22
│ ├── coffee-script@1.3.3
│ ├── colors@0.6.2
│ ├── dateformat@1.0.2-1.2.3
│ ├── eventemitter2@0.4.13
│ ├─┬ findup-sync@0.1.2
│ │ └── lodash@1.0.1
│ ├─┬ glob@3.1.21
│ │ ├── graceful-fs@1.2.3
│ │ └── inherits@1.0.0
│ ├── hooker@0.2.3
│ ├── iconv-lite@0.2.11
│ ├─┬ js-yaml@2.0.5
│ │ ├─┬ argparse@0.1.15
│ │ │ ├── underscore@1.4.4
│ │ │ └── underscore.string@2.3.3
│ │ └── esprima@1.0.4
│ ├── lodash@0.9.2
│ ├─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.4
│ ├─┬ rimraf@2.0.3
│ │ └── graceful-fs@1.1.14
│ ├── underscore.string@2.2.1
│ └── which@1.0.5
├─┬ grunt-cli@0.1.9 extraneous
│ ├─┬ findup-sync@0.1.2
│ │ ├─┬ glob@3.1.21
│ │ │ ├── graceful-fs@1.2.3
│ │ │ ├── inherits@1.0.0
│ │ │ └─┬ minimatch@0.2.12
│ │ │   ├── lru-cache@2.3.1
│ │ │   └── sigmund@1.0.0
│ │ └── lodash@1.0.1
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.4
│ └── resolve@0.3.1
├─┬ grunt-contrib-uglify@0.2.4
│ └─┬ grunt-lib-contrib@0.6.1
│   └── zlib-browserify@0.0.1
├─┬ grunt-contrib-watch@0.5.3
│ ├─┬ gaze@0.4.3
│ │ └─┬ globule@0.1.0
│ │   ├─┬ glob@3.1.21
│ │   │ ├── graceful-fs@1.2.3
│ │   │ └── inherits@1.0.0
│ │   ├── lodash@1.0.1
│ │   └─┬ minimatch@0.2.12
│ │     ├── lru-cache@2.3.1
│ │     └── sigmund@1.0.0
│ └─┬ tiny-lr@0.0.4
│   ├── debug@0.7.2
│   ├── faye-websocket@0.4.4
│   ├─┬ noptify@0.0.3
│   │ └─┬ nopt@2.0.0
│   │   └── abbrev@1.0.4
│   └── qs@0.5.6
├── grunt-karma@0.6.2
├── grunt-simple-mocha@0.4.0
├── hat@0.0.3
├─┬ karma@0.10.2
│ ├── chokidar@0.6.3
│ ├── colors@0.6.0-1
│ ├─┬ connect@2.8.8
│ │ ├── buffer-crc32@0.2.1
│ │ ├── bytes@0.2.0
│ │ ├── cookie@0.1.0
│ │ ├── cookie-signature@1.0.1
│ │ ├── debug@0.7.2
│ │ ├── formidable@1.0.14
│ │ ├── fresh@0.2.0
│ │ ├── methods@0.0.1
│ │ ├── pause@0.0.1
│ │ ├── qs@0.6.5
│ │ ├─┬ send@0.1.4
│ │ │ └── range-parser@0.0.4
│ │ └── uid2@0.0.2
│ ├── di@0.0.1
│ ├─┬ glob@3.1.21
│ │ └── inherits@1.0.0
│ ├── graceful-fs@1.2.3
│ ├─┬ http-proxy@0.10.3
│ │ ├── pkginfo@0.2.3
│ │ └─┬ utile@0.1.7
│ │   ├── async@0.1.22
│ │   ├── deep-equal@0.1.0
│ │   ├── i@0.3.2
│ │   ├── mkdirp@0.3.5
│ │   ├── ncp@0.2.7
│ │   └── rimraf@1.0.9
│ ├── lodash@1.1.1
│ ├─┬ log4js@0.6.9
│ │ ├── async@0.1.15
│ │ ├── readable-stream@1.0.17
│ │ └── semver@1.1.4
│ ├── mime@1.2.11
│ ├─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ ├─┬ optimist@0.3.7
│ │ └── wordwrap@0.0.2
│ ├── q@0.9.7
│ ├── rimraf@2.1.4
│ ├─┬ socket.io@0.9.16
│ │ ├── base64id@0.1.0
│ │ ├── policyfile@0.0.4
│ │ ├── redis@0.7.3
│ │ └─┬ socket.io-client@0.9.16
│ │   ├─┬ active-x-obfuscator@0.0.1
│ │   │ └── zeparser@0.0.5
│ │   ├── uglify-js@1.2.5
│ │   ├─┬ ws@0.4.31
│ │   │ ├── commander@0.6.1
│ │   │ ├── nan@0.3.2
│ │   │ ├── options@0.0.5
│ │   │ └── tinycolor@0.0.1
│ │   └── xmlhttprequest@1.4.2
│ └─┬ useragent@2.0.7
│   └── lru-cache@2.2.4
├─┬ karma-browserify@0.0.5
│ ├─┬ browserify@2.18.1
│ │ ├─┬ browser-builtins@1.0.7
│ │ │ ├─┬ buffer-browserify@0.1.0
│ │ │ │ └── base64-js@0.0.2
│ │ │ ├── console-browserify@0.1.6
│ │ │ ├── constants-browserify@0.0.1
│ │ │ ├── crypto-browserify@1.0.5
│ │ │ ├─┬ http-browserify@0.1.13
│ │ │ │ ├── Base64@0.1.4
│ │ │ │ └─┬ concat-stream@1.0.1
│ │ │ │   └─┬ bops@0.0.6
│ │ │ │     ├── base64-js@0.0.2
│ │ │ │     └── to-utf8@0.0.1
│ │ │ ├── punycode@1.2.3
│ │ │ ├── resolve@0.3.1
│ │ │ ├── vm-browserify@0.0.1
│ │ │ └─┬ zlib-browserify@0.0.3
│ │ │   └─┬ tape@0.2.2
│ │ │     ├── deep-equal@0.0.0
│ │ │     ├── defined@0.0.0
│ │ │     └── jsonify@0.0.0
│ │ ├─┬ browser-pack@0.9.4
│ │ │ └─┬ combine-source-map@0.1.3
│ │ │   ├── convert-source-map@0.2.6
│ │ │   ├─┬ inline-source-map@0.2.5
│ │ │   │ └─┬ source-map@0.1.30
│ │ │   │   └── amdefine@0.1.0
│ │ │   └── parse-base64vlq-mappings@0.1.4
│ │ ├─┬ browser-resolve@1.0.1 (git://github.com/substack/node-browser-resolve.git#2bf4edad2205a05ebfe8fe1b836401120081ebc5)
│ │ │ └── resolve@0.4.0
│ │ ├── concat-stream@0.1.1
│ │ ├── duplexer@0.0.4
│ │ ├── inherits@1.0.0
│ │ ├─┬ insert-module-globals@0.2.1
│ │ │ ├── commondir@0.0.1
│ │ │ ├─┬ JSONStream@0.4.4
│ │ │ │ └── jsonparse@0.0.5
│ │ │ ├─┬ lexical-scope@0.0.14
│ │ │ │ └─┬ astw@0.0.0
│ │ │ │   └── esprima@1.0.2
│ │ │ ├── process@0.5.1
│ │ │ └── through@2.2.7
│ │ ├─┬ JSONStream@0.6.4
│ │ │ ├── jsonparse@0.0.5
│ │ │ └── through@2.2.7
│ │ ├─┬ module-deps@0.10.3
│ │ │ ├─┬ concat-stream@1.0.1
│ │ │ │ └─┬ bops@0.0.6
│ │ │ │   ├── base64-js@0.0.2
│ │ │ │   └── to-utf8@0.0.1
│ │ │ ├─┬ detective@2.1.2
│ │ │ │ ├─┬ escodegen@0.0.15
│ │ │ │ │ └─┬ source-map@0.1.30
│ │ │ │ │   └── amdefine@0.1.0
│ │ │ │ └── esprima@1.0.2
│ │ │ └── resolve@0.4.3
│ │ ├─┬ optimist@0.5.2
│ │ │ └── wordwrap@0.0.2
│ │ ├── shell-quote@0.0.1
│ │ ├─┬ syntax-error@0.0.1
│ │ │ └── esprima@0.9.9
│ │ └─┬ umd@1.1.1
│ │   ├─┬ rfile@1.0.0
│ │   │ ├── callsite@1.0.0
│ │   │ └── resolve@0.3.1
│ │   ├── ruglify@1.0.0
│ │   └─┬ uglify-js@2.2.5
│ │     ├─┬ optimist@0.3.7
│ │     │ └── wordwrap@0.0.2
│ │     └─┬ source-map@0.1.30
│ │       └── amdefine@0.1.0
│ ├── chokidar@0.6.3
│ └── through@2.3.4
├── karma-chrome-launcher@0.1.0
├── karma-coffee-preprocessor@0.1.0
├── karma-firefox-launcher@0.1.0
├── karma-html2js-preprocessor@0.1.0
├── karma-jasmine@0.1.3
├── karma-mocha@0.1.0
├─┬ karma-phantomjs-launcher@0.1.0
│ └─┬ phantomjs@1.9.2-2
│   ├── adm-zip@0.2.1
│   ├── kew@0.1.7
│   ├── mkdirp@0.3.5
│   ├── ncp@0.4.2
│   ├─┬ npmconf@0.0.24
│   │ ├─┬ config-chain@1.1.8
│   │ │ └── proto-list@1.2.2
│   │ ├── inherits@1.0.0
│   │ ├── ini@1.1.0
│   │ ├─┬ nopt@2.1.2
│   │ │ └── abbrev@1.0.4
│   │ ├── once@1.1.1
│   │ ├── osenv@0.0.3
│   │ └── semver@1.1.4
│   ├─┬ rimraf@2.0.3
│   │ └── graceful-fs@1.1.14
│   └── which@1.0.5
├── karma-requirejs@0.1.0
├── karma-script-launcher@0.1.0
├─┬ livedb@0.2.6
│ ├── arraydiff@0.1.1
│ ├── deep-is@0.1.2
│ ├─┬ hiredis@0.1.15
│ │ └── bindings@1.1.1
│ ├── ottypes@1.0.0
│ └── statsd-client@0.0.15
├─┬ mocha@1.13.0
│ ├── commander@0.6.1
│ ├── debug@0.7.2
│ ├── diff@1.0.7
│ ├─┬ glob@3.2.3
│ │ ├── graceful-fs@2.0.1
│ │ ├── inherits@2.0.1
│ │ └─┬ minimatch@0.2.12
│ │   ├── lru-cache@2.3.1
│ │   └── sigmund@1.0.0
│ ├── growl@1.7.0
│ ├─┬ jade@0.26.3
│ │ └── mkdirp@0.3.0
│ └── mkdirp@0.3.5
├─┬ optimist@0.6.0
│ ├── minimist@0.0.5
│ └── wordwrap@0.0.2
├── ottypes@0.6.2
├── redis@0.8.6
├── semver@2.1.0
├─┬ sinon@1.7.1
│ └─┬ buster-format@0.5.6
│   └── buster-core@0.6.4
└─┬ uglify-js@2.4.0
  ├─┬ optimist@0.3.7
  │ └── wordwrap@0.0.2
  ├─┬ source-map@0.1.30
  │ └── amdefine@0.1.0
  └── uglify-to-browserify@1.0.1

npm ERR! extraneous: grunt-cli@0.1.9 /appcl/nodez/test/ShareJS/node_modules/grunt-cli
npm ERR! not ok code 0

here is the error still:

/appcl/nodez/test/ShareJS$ grunt dist example:text 
Running "dist:build" task

Running "uglify:dist" (uglify) task
File "dist/share.min.js" created.

Running "example:text" (example) task
ShareJS text examples running on http://localhost:3000
GET / 304 7ms
GET /bcsocket.js 304 3ms
GET /share-textarea.js 304 4ms
GET /share.js 200 8ms - 115.08kb
>>> server send
{ a: 'init',
  protocol: 0,
  id: '03b83a41979f19d80b60a2ff278a08fa' }
<<< client receive
{ a: 'sub', c: 'shared', d: 'notes' }
node_redis: no callback to send error: ERR wrong number of arguments for 'eval' command
>>> server send
{ data: { v: 0 }, a: 'sub', c: 'shared', d: 'notes' }

/appcl/nodez/test/ShareJS/node_modules/redis/index.js:570
            throw err;
                  ^
Error: ERR wrong number of arguments for 'eval' command
  at ReplyParser.<anonymous> (/appcl/nodez/test/ShareJS/node_modules/redis/index.js:308:31)
  at ReplyParser.EventEmitter.emit (events.js:95:17)
  at ReplyParser.send_error (/appcl/nodez/test/ShareJS/node_modules/redis/lib/parser/javascript.js:296:10)
  at ReplyParser.execute (/appcl/nodez/test/ShareJS/node_modules/redis/lib/parser/javascript.js:181:22)
  at RedisClient.on_data (/appcl/nodez/test/ShareJS/node_modules/redis/index.js:535:27)
  at Socket.<anonymous> (/appcl/nodez/test/ShareJS/node_modules/redis/index.js:91:14)
  at Socket.EventEmitter.emit (events.js:95:17)
  at Socket.<anonymous> (_stream_readable.js:746:14)
  at Socket.EventEmitter.emit (events.js:92:17)
  at emitReadable_ (_stream_readable.js:408:10)
  at emitReadable (_stream_readable.js:404:5)
  at readableAddChunk (_stream_readable.js:165:9)
  at Socket.Readable.push (_stream_readable.js:127:10)
  at TCP.onread (net.js:526:21)

Warning:  Use --force to continue.

Aborted due to warnings.

Very strange! 😕 I use the same versions of the npm modules and travis also uses Redis 2.6. The only difference seems to be 64bit vs 32bit. Does anyone else have this issue? Could some more people please post their redis-server --version?

I have seen this issue locally with outdated dependencies of node_redis. (redis-server 2.6 Mac OS 10.7). But after rming node_modules and reinstalling everything was resolved. I've tried different things on travis on share/sharedb#10

I found the solution. It is an upstream bug and should be resolved with redis/node-redis#502.

Confirmed
a local install of redis/node-redis#502 fixes this for me.

We should provide an empty callback when we call redis.eval() in livedb for now.