Ээх! Засада. Статика — работает. Локальная «динамика» — работает. А многопользовательская — нет. Надо курить мануал — что-то не то на win7-64. Или переходить на linux :)
Вот дамп:
Trace: [Error: ERR unknown command 'evalsha']
at C:\Dropbox\web\node\Derby\habr\node_modules\derby\node_modules\racer\node_modules\share\lib\server\session.js:485:19
at C:\Dropbox\web\node\Derby\habr\node_modules\derby\node_modules\racer\node_modules\share\lib\server\useragent.js:185:23
at C:\Dropbox\web\node\Derby\habr\node_modules\derby\node_modules\racer\node_modules\share\node_modules\livedb\lib\index.js:475:53
at C:\Dropbox\web\node\Derby\habr\node_modules\derby\node_modules\racer\node_modules\share\node_modules\livedb\lib\index.js:696:53
at C:\Dropbox\web\node\Derby\habr\node_modules\derby\node_modules\racer\node_modules\share\node_modules\livedb\lib\index.js:185:16
at C:\Dropbox\web\node\Derby\habr\node_modules\derby\node_modules\racer\node_modules\share\node_modules\livedb\lib\index.js:144:16
at Command.callback (C:\Dropbox\web\node\Derby\habr\node_modules\redis\index.js:1140:13)
at RedisClient.return_error (C:\Dropbox\web\node\Derby\habr\node_modules\redis\index.js:531:25)
at ReplyParser.<anonymous> (C:\Dropbox\web\node\Derby\habr\node_modules\redis\index.js:282:14)
at ReplyParser.EventEmitter.emit (events.js:95:17)
Operation was rejected (Error: ERR unknown command 'evalsha'). Trying to rollback change locally.
[Error: ERR unknown command 'evalsha']
C:\Dropbox\web\node\Derby\habr\node_modules\derby\lib\View.server.js:41
return json.replace(/[&']/g, function(match) {
^
TypeError: Cannot call method 'replace' of undefined
at stringifyData (C:\Dropbox\web\node\Derby\habr\node_modules\derby\lib\View.server.js:41:15)
at Object.View._renderScripts (C:\Dropbox\web\node\Derby\habr\node_modules\derby\lib\View.server.js:176:7)
at C:\Dropbox\web\node\Derby\habr\node_modules\derby\lib\View.server.js:156:10
at null._onTimeout (C:\Dropbox\web\node\Derby\habr\node_modules\derby\node_modules\racer\lib\Model\bundle.js:14:5)
at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
Спасибо автору за статью. Прочитал и погонял код, я понял, что застрял в другом стеке технологий. :)
Предлагаю небольшую модификацию кода для его работы на компьютере разработчика и в средах AppFog и OpenShift: libs/config.js (целиком)
var uri = config.get('mongo:uri') + config.get('mongo:db');
mongoose.connect(uri);
server.js (listen)
var port = config.get('http:port'),
ipAddr = config.get('http:host')
;
app.listen(port, ipAddr, function(){
log.info('Node server started on %s:%d ...', ipAddr, port);
});
В конфигурационных файлах development.json, appfog.json и openshift.json соответственно устанавливаем специфичные значения, например:
{
"mongo": {
"db": "anotherTest"
}
}
Ещё раз: спасибо! Долго думал, как реализовать коллаборативную работу с древовидным документом с версионностью в стеке php+orm… Серия статей, появившихся в последнее время на Хабре, решили вопрос. STATEfull парадигма node.js (+express+...) + MongoDB (+mondoose+plugins) рулят :)
Вот дамп:
Для начала буду ставить VirtualBox…
libs/mongoose.js
Предлагаю небольшую модификацию кода для его работы на компьютере разработчика и в средах AppFog и OpenShift:
libs/config.js (целиком)
libs/mongoose.js (connection)
server.js (listen)
В конфигурационных файлах development.json, appfog.json и openshift.json соответственно устанавливаем специфичные значения, например:
Ещё раз: спасибо! Долго думал, как реализовать коллаборативную работу с древовидным документом с версионностью в стеке php+orm… Серия статей, появившихся в последнее время на Хабре, решили вопрос. STATEfull парадигма node.js (+express+...) + MongoDB (+mondoose+plugins) рулят :)