में मुझे एक ग्रंट कार्य के साथ कुछ कठिनाई हो रही है जिसे मैं संलेखन कर रहा हूं। मैं एनपीएम इंस्टॉलेशन निष्पादित करने की कोशिश कर रहा हूं, इसके बाद बॉवर इंस्टॉलेशन के बाद, एक ग्रंट हब लक्ष्य (एकाधिक उप-प्रोजेक्ट्स के लिए बिल्ड कमांड ट्रिगर करने के लिए) के बाद।नोड जेएस - ग्रीन कार्य परिणामों में नोड जेएस - child_process spawn ('npm install') ENOENT त्रुटि
मुझे जिस समस्या का सामना करना पड़ रहा है वह child_process के साथ है। में परिणाम (NPM के बजाय स्थापित ls साथ)
var path = require('path'),
projectPath = path.resolve(process.cwd(), this.data.activity);
grunt.log.debug('project path computed as: ', projectPath);
process.chdir(projectPath);
console.log('current dir is: ', process.cwd());
console.log('EVN is: ', process.env);
var spawnProcess = spawn('ls');
// var spawnProcess = spawn('npm install');
spawnProcess.stdout.on('data', function (data) {
console.log('' + data);
});
spawnProcess.stderr.on('data', function(data) {
console.log('something went wrong installing deps for ' + path + '. Error: ', data);
});
spawnProcess.on('close', function (exitCode) {
console.log('ls has finished with Exit Code: ' + exitCode);
});
वर्तमान कोड:: मैं अंडे ENOENT त्रुटि अगर मैं अपने घुरघुराना कार्य में निम्न कमांड चलाने मिलता है, NPM साथ अंडे आदेश है कि वर्तमान में बाहर टिप्पणी की है स्थापित
running "install:projects" (install) task[D] Task source: /Users/zedd45/proj/Gruntfile.js
Verifying property install.projects exists in config...OK
File: [no files]
[D] project path computed as: /Users/zedd45/proj/activity/web/client
current dir is: /Users/zedd45/proj/activity/web/client
EVN (abbreviated) is: {
TERM_PROGRAM: 'iTerm.app',
SHELL: '/bin/bash',
PWD: '/Users/zedd45/proj',
...
OLDPWD: '/Users/zedd45/proj/activity/web/client',
_: '/usr/local/bin/grunt' }
GruntFile.js
bower.json
package.json
this_is_the_directory_you_are_looking_for.txt
ls has finished with Exit Code: 0
लेकिन अगर मैं करने के लिए 'ls' बदल 'NPM स्थापित' मैं बजाय `` गंभीर त्रुटि मिलती है: अंडे ENOENT
तुरंत ENV प्रिंट निम्नलिखित।
मैंने उस निर्देशिका के लिए chmod 777 की कोशिश की है, जो मदद नहीं करता है।
मैं भी कोशिश की है:
Warning: Object # has no method 'slice' Use --force to continue.
बाद में अभी भी ENOENT त्रुटि में परिणाम में
// var spawnProcess = spawn('npm install', {'cwd': projectPath});
और
// var spawnProcess = spawn('npm install', [], {'cwd': projectPath});
पूर्व का परिणाम है।
इस ईनोन्ट त्रुटि के ठीक से कोई मदद शायद एक बड़ी सौदा में मदद करेगी; मुझे गुगलिंग के साथ बहुत सफलता नहीं मिली है और न ही child process API docs
कि पूरी तरह से काम किया। मैं विश्वास नहीं कर सकता कि समाधान प्रदान करने के बाद समाधान कितना आसान/स्पष्ट था, या यह मुझे कितना मुश्किल लगा। बहुत बहुत धन्यवाद! संभावित आगंतुकों के भविष्य के संदर्भ के लिए – zedd45
, http://stackoverflow.com/questions/27688804/how-to-debug-any-node-js-child-process-error-spawn-enoent – laconbass
हम्म, यह काम नहीं करता है मुझे। अभी भी एक spawnSync npm ENOENT प्राप्त कर रहा है (हाँ मैं सिंक संस्करण का उपयोग कर रहा हूँ) – ianbeks