在用node寫代碼的時候發現這個錯誤,google之無解,如今解決,發於此。node
事件原由爲一個全局模塊經過子進程(chind_process)調用另外一個全局模塊的命令,這個錯誤就是在命令行經過全局命令調用的時候報的app
Error: spawn Unknown system errno 203
可是父模塊直接經過node app.js 這樣的形式是能夠成功的。google
自己代碼大概是這樣:spa
先經過全局命令 aa(bin/aa) 啓動了父模塊的入口,而後在其中經過了chind_process.fork出了父模塊的代碼,接着在這個代碼裏再經過chind_process.exec 執行了全局全局命令 bb(bin/bb) ,而後在bb的代碼裏又調用了子模塊的入口,再fork出了子模塊的代碼。。蛋疼啊。命令行
以前一直覺得是父模塊exec的問題,可是最後猜想是在父進程找不到子模塊的全局命令致使的,驗證以後發現果真如此,應該就是環境丟失的問題。code
因而就在父進程中 chind_process.fork 的時候把環境merge進去了,問題解決。server
代碼大概是這樣blog
var child = cp.fork(path.resolve(__dirname, '../server/app.js'), p, { env : util.merge({ 'NODE_ENV': 'production' // 'NODE_ENV': 'development' }, process.env) });