Nasıl hata ayıklama " yapmak;Hata: spawn ENOENT&; node.js üzerinde"?
Aşağıdaki hata ile fark gidince:
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:1000:11)
at Process.ChildProcess._handle.onexit (child_process.js:791:34)
Neyordambunu düzeltmek için peşinden gelebilir miyim?
Yazarın notuBu hata ile ilgili sorunlar bir sürü bana gelecek referanslar için. bu soru göndermek için teşvik
(Senaryoları ile sabit olması gerekir . bu YÜZDEN ilgili sorular ^em>yordam)
- using spawn function with NODE_ENV=production
- node.js child_process.spawn ENOENT error - only under supervisord
- spawn ENOENT node.js error
- Nodejs spawn ENOENT error on travis, calling global npm package
- Node JS - child_process spawn('npm install') in Grunt task results in ENOENT error
- Running "foreman" task Fatal error: spawn ENOENT
- unhandled error event in node js Error: spawn ENOENT at errnoException (child_process.js:975:11)
- Node.js SpookyJS: error executing hello.js
- run grunt on a directory nodewebkit
- Run exe file with Child Process NodeJS
- Node: child_process.spawn not working on Java even though it's in the path (ENOENT)
- 20* *() PYTHON ile ilgili
- 21* *(non-yüklü bağımlılık)
- npm install error ENOENT (yapı bağımlılık sorunu)
- Cannot install node.js - oracle module on Windows 7 (yapı bağımlılık sorunu)
- Error installing gulp using nodejs on windows (garip bir durum)
CEVAP
Kök fikrinin neden almak için özellikle kolay bir yolunu buldum:
Error: spawn ENOENT
Sorun bu hata, çok az bilgi hata mesajı söyle nerede arama sitesi, yani hangi yürütülebilir/komutu bulunamadı, özellikle bir büyük kod tabanı vardır bir sürü spawn çağırır. Eğer hata neden tam komut biliyoruz eğer öte yandan, o zaman @laconbass' answer sorunu çözmek için takip edebiliriz.
Ben çok kolay @önerilen kodunuzda her yerde olay dinleyicilerini ekleme yerine soruna neden olan nokta için bir yol buldu laconbass' cevap. Anahtar fikir özgün argümanlar çağrı spawn gönder yazdıran bir sarıcı ile arama spawn sarmak için.
Burada sarıcı işlevi, ya da ne olursa olsun server index.js
başlangıç yazısının üstüne koy.
(function() {
var childProcess = require("child_process");
var oldSpawn = childProcess.spawn;
function mySpawn() {
console.log('spawn called');
console.log(arguments);
var result = oldSpawn.apply(this, arguments);
return result;
}
childProcess.spawn = mySpawn;
})();
O zaman bir dahaki sefere uygulamayı çalıştırmak, yakalanmamış istisna mesajını daha önce böyle bir şey göreceksiniz:
spawn called
{ '0': 'hg',
'1': [],
'2':
{ cwd: '/* omitted */',
env: { IP: '0.0.0.0' },
args: [] } }
Bu şekilde kolayca aslında yürütülen ve daha sonra yürütülebilir sorunu çözmek için bir yol bulamıyor neden öğrenebilirsiniz.
Nasıl node.js uygulama hata ayıklama...
Nasıl Android üzerinde javascript hata...
Eğer nasıl MUAYENE imzalanmış veya &qu...
Nasıl hata ayıklama arasında geçiş yap...
Hata Raylar üzerinde Yakut nasıl: &; L...