2016-04-14 5 views
0

Я потратил часы, пытаясь решить это самостоятельно, ища похожие проблемы, но без всякой удачи, поэтому я пришел к выводу, что единственное, что нужно сделать, - это разместить здесь вопрос.Задача часов Gulp вызывает ошибку EBUSY при запуске процесса mongod

Я разрабатываю бэкэнд для веб-приложения, где я использую MongoDB для сохранения данных. Я использую Gulp и имею задачу просмотра, которая следит за изменениями в js-файлах. Я также использую браузеры, поэтому всякий раз, когда я запускаю gulp в терминале, веб-приложение будет загружаться автоматически в браузере. Прежде чем запустить gulp, я запускаю процесс mongod, используя команду mongod -dbpath. Пока все хорошо, и никаких проблем.

Но когда я затем запустить глотка, задача часы выдает ошибку EBUSY:

Ошибка: EBUSY: ресурс занят или заблокирован, ScanDir «H: \ Источник \ приложение \ сервер \ DB \ mongoDbDir \ mongod. запирать»

Это мой глоток задача:

gulp.task('watch:server', ['server:start'], function() { 
var config = require('../../../config')().watch.server; 

console.log('CALLING GULP WATCH'); 
gulp.watch(config.scripts, ['server:restart']); // throws the error 

});

В config.scripts просто ссылаются на js-файлы в некоторых папках (включая каталог путей mongo db, хотя здесь нет js-файлов). Другие задачи, выполняющиеся являются:

// run server 
gulp.task('server:start', ['build:server'], function() { 
    var config = require('../../../config')().entrypoint.server; 
    server.listen({path: config.source, execArgv: ['--debug=5859']}); 
}); 

и

// restart server if entrypoint changed 
gulp.task('server:restart', ['typescript:server'], function() { 
    server.restart(); 
}); 

«Сервер», используемый здесь, является узлом Js модуль из модуля Глоток-разработки-сервера. И ошибка я получаю показано на рисунке:

Error shown in WebStorm Ide's terminal when running gulp

Я нашел это: Grunt Serve watch throws EBUSY warning over mongod.lock

Это было для Grunt, хотя, но я старался не обращать внимания на пути к моей MongoDB в и это не помогло.

Я действительно застрял здесь, и я не могу использовать веб-приложение, пока эта ошибка существует, потому что сервер разработки ничего не ответит.

Может ли кто-нибудь помочь мне с этим, может быть?

ответ

1

Хорошо, один из моих товарищей по команде действительно решил это. Ошибка заключалась в том, что у меня был свой путь db внутри исходного кода, который смотрел глоток. Поэтому перемещение mongo db в значение по умолчанию C: \ data \ db, а затем запуск только «mongod» без dbpath было решением!

Смежные вопросы