在尋找類似問題時,我花了幾個小時嘗試解決這個問題,但沒有任何運氣,所以我得出結論,唯一要做的就是在這裏發佈一個問題。當mongod進程運行時,Gulp watch任務會拋出EBUSY錯誤
我正在爲使用MongoDB進行數據持久性的Web應用程序開發後端。我使用Gulp並有一個監視js文件變化的監視任務。我也在使用瀏覽器同步,因此無論何時我在終端中運行gulp,web應用程序都會自動加載到瀏覽器中。在運行gulp之前,我使用「mongod --dbpath」命令啓動mongod進程。到目前爲止這麼好,沒有問題。
但是,當我再運行一飲而盡,手錶任務拋出一個EBUSY錯誤:
錯誤:EBUSY:資源忙或鎖定,SCANDIR「H:\源\程序\服務器\分貝\ 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
這對咕嚕,雖然,但我試圖忽略的路徑,我的MongoDB看任務,並沒有幫助。
我真的被困在這裏,只要出現這個錯誤,我就無法使用網絡應用程序,因爲開發服務器不會響應任何事情。
任何人都可以幫助我這可能嗎?