2016-04-14 38 views
0

Benzer problemleri ararken ama hiçbir şey yapmadan bu sorunu çözmeye çalışırken saatlerimi harcıyorum, böylece yapacağım tek şeyin burada bir soru göndermek olduğu sonucuna vardım.Gulp süreci çalışırken EBUSY hatası devreye giriyor

Veri kalıcılığı için MongoDB kullandığım bir web uygulaması için arka uç geliştiriyorum. Gulp kullanıyorum ve js dosyalarındaki değişiklikleri izleyen bir saat görevim var. Tarayıcım da kullanıyorum, bu yüzden terminalde gulp çalıştığı zaman, web uygulaması tarayıcıya otomatik olarak yüklenecek. Gulp'u çalıştırmadan önce "mongod --dbpath" komutunu kullanarak mongod işlemini başlatıyorum. Şimdiye kadar çok iyi ve problem yok.

Hata: EBUSY: Sonra yudum çalıştırdığınızda

Fakat, saat görev bir EBUSY hata atar kaynak meşgul veya kilitli, scandir 'H: \ kaynak \ app \ server \ db \ mongoDbDir \ mongod. Bu benim yudum iştir

'kilitlemek:

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, bazı klasörlerde js dosyalarına atıfta bulunur (burada js dosyası olmasa bile mongo db yol dizini dahil). run olmanın diğer görevleri şunlardır:

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

ve

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

Burada kullanılan "sunucu"

yudum-geliştirme-sunucu modülünden bir Düğüm Js modülüdür. Bunu buldunuz

Error shown in WebStorm Ide's terminal when running gulp

: Ve olsun hata bu resimde gösterilen Grunt Serve watch throws EBUSY warning over mongod.lock

Bu Grunt içindi, gerçi ama benim MongoDB yolunu görmezden çalıştı görevi izle ve yardımcı olmadı.

Gerçekten burada takılıyorum ve bu hata olduğu sürece web uygulamasını kullanamıyorum, çünkü geliştirme sunucusu hiçbir şeye yanıt vermiyor.

Bu konuda bana yardımcı olabilecek herhangi biri olabilir mi?

cevap

1

Tamam, takım arkadaşlarımdan biri bunu gerçekten çözdü. Hata, benim kaynak kodumun içinde, gulp'un izlediği db yolumun olmasıydı. Bu yüzden mongo db'yi varsayılan C: \ data \ db'ye taşıyoruz ve dbpath olmadan sadece "mongod" çalıştırmanız çözümdü!