Tamim Fahed نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 أحاول تنفيذ عملية باستخدام spawn في node.js من خلال تشغيلها ضمن الـ shell كالتالي: NODE_ENV=production node project/server.js وهذا هو الكود ضمن الملف: var spawn = require('child_process').spawn; var start = spawn('NODE_ENV=production',['node','project/server.js']); ولكن يظهر لي هذا الخطأ: events.js:72 throw er; ^ Error: spawn ENOENT at errnoException (child_process.js:980:11) at Process.ChildProcess._handle.onexit (child_process.js:771:34) ما حل هذه المشكلة؟ اقتباس
0 Salah Eddin Beriani2 نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 اظن انها متعلقة بال permission للمجلد اذا كنت تستخدم linux جرب هذه الأوامر على مجلد المشروع sudo chmod -R 755 project/ cd project sudo node server 1 اقتباس
1 Sam Ahw نشر 23 يونيو 2021 أرسل تقرير نشر 23 يونيو 2021 لقد قمت بتمرير المتغيرات إلى للدالة spawn بشكل غير صحيح. قمن التوثيق الرسمي الدالة spawn لها الشكل التالي: spawn( command, args, options ) والتي تقوم بإنشاء عملية جديدة مع تمرير المتغيرات. والمتغيّرات args لها القيمة (مصفوفة فارغة) بشكل افتراضي. أما المتغيّر الثالث options يستخدم لتمرير خصائص إضافية لهذه الدالة والتي تكون قيمتها بشكل افتراضي كالتالي: { cwd: undefined, env: process.env } لذلك في حالتك يجب تمرير القيم كخصائص ضمن env في مكان المتغيّر options وليس args، بحيث تصبح كالتالي: spawn( 'node', ['server.js'], { env: { ...process.env, NODE_ENV: 'test' } }}) بحيث يتم استخدام spread operator أو (...) لأخذ بقية القيم من process.env أو يمكنك بشكل مماثل تعريف متغيرات البيئة والدلالة عليها كالتالي: var productionEnv = process.env; productionEnv.NODE_ENV = 'production'; 1 اقتباس
السؤال
Tamim Fahed
أحاول تنفيذ عملية باستخدام spawn في node.js من خلال تشغيلها ضمن الـ shell كالتالي:
NODE_ENV=production node project/server.js
وهذا هو الكود ضمن الملف:
var spawn = require('child_process').spawn; var start = spawn('NODE_ENV=production',['node','project/server.js']);
ولكن يظهر لي هذا الخطأ:
events.js:72 throw er; ^ Error: spawn ENOENT at errnoException (child_process.js:980:11) at Process.ChildProcess._handle.onexit (child_process.js:771:34)
ما حل هذه المشكلة؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.