علمی اساس

Zinnector® کی خرابیوں کا سراغ لگانا

Zinnector CLI کے ساتھ لوگ جو غلطیاں کرتے ہیں اور ان میں سے ہر ایک کا حل: ونڈوز پر spawn EINVAL، npm کا EBADENGINE انتباہ، Node 26 پر Visual Studio کا مطالبہ کرنے والا node-gyp، انسٹال کے دوران EPERM، ایک رن ٹائم جو بوٹ نہیں ہوگا، اور استعمال میں موجود پورٹ۔

وہ غلطیاں جو لوگ درحقیقت Zinnector® CLI کا استعمال کرتے ہوئے دیکھنا چاہتے ہیں، ان میں سے ہر ایک کا کیا مطلب ہے، اور ان کا حل۔ ہر اندراج اس بالکل درست متن کا نام دیتا ہے جو آپ دیکھیں گے، تاکہ آپ اس صفحے پر اسے تلاش کر سکیں۔ اگر آپ کی غلطی یہاں موجود نہیں ہے، تو ناکام ہونے والے کمانڈ کو ZINNECTOR_DEBUG=1 کے ساتھ چلائیں اور آؤٹ پٹ، اپنے node --version اور اپنے آپریٹنگ سسٹم کے ساتھ github.com/Zinn-Digital/zinnector/issues پر ایک ایشو کھولیے۔

"spawn EINVAL" رن ٹائم کی انسٹالیشن قبول کرنے کے فوراً بعد (Windows)

Zinnector® 0.1.0 اور 0.1.1 میں ایک بگ۔ Windows پر رن ٹائم انسٹالر نے نام کے ذریعہ npm.cmd کو چلایا، اور Node نے CVE-2024-27980 کے اپنے فکس کے بعد سے بغیر شیل کے کسی .cmd فائل کو اسپان کرنے سے انکار کر دیا ہے — لہٰذا آپ کے Y کا جواب دینے کے ایک سیکنڈ بعد انسٹالیشن کریش ہو گئی۔ 0.1.2 میں درست کر دیا گیا ہے: npm اب node npm-cli.js کے طور پر چلایا جاتا ہے، جو ہر پلیٹ فارم پر ایک جیسا ہے اور اسے کسی شیل کی ضرورت نہیں ہے۔ npm install -g zinnector@latest چلائیں، پھر دوبارہ zinnector dev۔

انسٹالیشن کے دوران "npm WARN EBADENGINE"، یا "Zinnector® needs Node 24 or newer"

آپ کا Node 24 سے پرانا ہے۔ npm یہ خبردار اس لیے پرنٹ کرتا ہے کیونکہ پیکیج engines: >=24.18.1 کا اعلان کرتا ہے؛ انسٹالیشن بہرحال مکمل ہو جاتی ہے، لیکن zinnector اس کے بعد شروع ہونے سے انکار کر دیتا ہے (ایگزٹ کوڈ 78) بجائے اس کے کہ بعد میں کہیں الجھن پیدا کرنے والی ناکامی ہو۔ nodejs.org سے موجودہ LTS انسٹال کریں — Windows پر winget install OpenJS.NodeJS.LTS، macOS پر brew install node@24 — تصدیق کریں کہ node --version v24 یا اس سے زیادہ پرنٹ کرتا ہے، اور Zinnector® کو دوبارہ انسٹال کریں۔

"gyp ERR!"، "Building from source with node-gyp"، یا "You need to install Visual Studio"

WordPress رن ٹائم کا ایک نیٹیو ماڈیول ہے جس کے پہلے سے تیار شدہ بائنریز صرف Node 24 اور 25 کے لیے موجود ہیں۔ کسی نئے Node پر (ستمبر 2026 تک، 26 اور اس سے اوپر) اس کا انسٹالر سورس سے کمپائل کرنے پر واپس چلا جاتا ہے، جو کہ ایک عام Windows مشین پر Visual Studio کی درخواست پر ختم ہوتا ہے۔ 0.1.2 میں درست کر دیا گیا ہے: Zinnector® کسی بھی چیز کو ڈاؤن لوڈ کرنے سے پہلے اس کا پتہ لگاتا ہے اور صرف رن ٹائم کے لیے Node 24 لاتا ہے — تقریباً 30 MB، جو nodejs.org کے checksums کے مطابق تصدیق شدہ ہے — تاکہ کبھی بھی کوئی چیز کمپائل نہ ہو۔ اگر آپ اسے اپ گریڈ کرنے کے بعد بھی دیکھتے ہیں، تو zinnector dev --reset-runtime چلائیں تاکہ پہلے کی ادھوری انسٹالیشن کو ضائع کر دیا جائے۔

npm کی طرف سے "EPERM" کی تنبیہات جب وہ صفائی کر رہا ہو (Windows)

تقریباً ہمیشہ ایک اینٹی وائرس اسکینر یا سرچ انڈیکسر رن ٹائم کے node_modules کے تحت ایک فائل کو پکڑے رہتا ہے جبکہ npm اسے ہٹانے کی کوشش کرتا ہے۔ اگلے zinnector dev پر ایک صاف ڈائریکٹری سے انسٹالیشن کی دوبارہ کوشش کی جاتی ہے؛ اگر یہ مسلسل ہوتا رہتا ہے، تو zinnector dev --reset-runtime پہلے پوری رن ٹائم ڈائریکٹری کو ہٹاتا ہے اور دوبارہ انسٹال کرتا ہے۔

"the local playground runtime could not be installed"

پیغام میں npm کی اپنی آخری سطریں اور وہی دقیق کمانڈ شامل ہے جو Zinnector® نے چلایا تھا، تاکہ آپ اسے خود چلا سکیں اور مکمل آؤٹ پٹ دیکھ سکیں۔ عام وجوہات میں نیٹ ورک یا پروکسی کا مسئلہ شامل ہے — رن ٹائم آپ کے اپنے npm کے ساتھ حاصل کیا جاتا ہے، لہٰذا npm config set proxy … اور ایک رجسٹر مرر لاگو ہوتے ہیں — یا ایک ادھوری پرانی انسٹالیشن، جسے --reset-runtime صاف کر دیتا ہے۔

"the local playground exited before it was ready"، یا یہ کبھی تیار نہیں ہوتا

رن ٹائم کا اپنا آؤٹ پٹ دیکھنے کے لیے zinnector dev --verbose چلائیں۔ ایک پورٹ جو پہلے سے استعمال میں ہے ایک عام وجہ ہے: zinnector dev --port 9401، یا zinnector.json میں port سیٹ کریں۔ ایک رن ٹائم جو انسٹال ہوا تھا لیکن بوٹ نہیں ہوگا: zinnector dev --reset-runtime۔ پہلا بوٹ خود WordPress کو بھی ڈاؤن لوڈ کرتا ہے، لہٰذا سست کنکشن پر اسے کچھ منٹ دیں؛ CLI معطل رہنے کے بجائے ٹائم آؤٹ کی اطلاع دینے سے پہلے پانچ منٹ تک انتظار کرتا ہے۔

پش کرنے پر "this project is not a git repository"

ڈپلاؤمنٹس ایک ریپوزیٹری سے چلائے جاتے ہیں، لہٰذا zinnector push کو ایک ایسی ریپوزیٹری کی ضرورت ہوتی ہے جس میں ایسا ریموٹ ہو جس تک پلیٹ فارم پہنچ سکے۔ git init && git add -A && git commit -m initial کریں، اپنا GitHub یا GitLab ریموٹ شامل کریں، پھر اسے سائٹ سے جوڑنے کے لیے zinnector link چلائیں۔

ڈپلاؤ کے بعد سائٹ سفید ہے

zinnector check چلائیں۔ دس میں سے نو بار یہ PHP ورژن کا فرق ہوتا ہے — آپ نے اس سے نئے PHP پر تعمیر کی ہے جس پر سلاٹ چلتا ہے — اور رپورٹ میں بتایا گیا ہے کہ zinnector php <version> کے ساتھ سلاٹ کو کس ورژن پر سوئچ کرنا ہے، یا zinnector dev --php <version> کے ساتھ کس کے خلاف ڈولپ کرنا ہے۔ zinnector logs --error خود مہلک غلطی کو دکھاتا ہے۔

متعلقہ

کیا اب بھی پھنسے ہوئے ہیں؟

ہر پلان میں سپورٹ شامل ہے اور آپ کی اپنی زبان میں جوابات ملتے ہیں۔

سپورٹ سے رابطہ کریں تمام مضامین
Zinnector® کی خرابیوں کا سراغ لگانا