این ضمیمه فرّار است
خودِ پیامهای خطا کم عوض میشوند، ولی ابزارها و پیامهای تازه اضافه میشوند. اگر خطایی اینجا نبود، قالبِ شمارهی ۷ از کتابخانهی الگو را به کار ببر — همیشه جواب میدهد.
آخرین بهروزرسانی: ۱۴۰۵/۰۵/۰۵
پرتکرارترین خطاهای انگلیسی، به زبان آدمیزاد: یعنی چه، و اولین قدم چیست. قاعدهی کلیاش را از فصل ۴.۳ بلدی — این صفحه فقط میانبُر است.
۱
فایل و مسیر
No such file or directory— چنین فایل یا پوشهای نیست. تقریباً همیشه یعنی در پوشهی اشتباهی ایستادهای یا مسیر را غلط دادهای. اول قدم: بپرس «الان کجا هستیم و این فایل دقیقاً کجاست؟» (فصل ۷.۱.۳).Permission denied— اجازهی این کار را نداری. یا فایل محافظتشده است، یا دستور به اختیارِ بالاتری نیاز دارد. اول قدم: بفهم چرا محافظتشده — نه اینکه فوریsudoبزنی (فصل ۷.۱.۳).command not found— این فرمان را نمیشناسد: یا نصب نیست، یا سیستم نمیداند کجاست. اول قدم: «این ابزار نصب است؟ اگر نه، امنترین راه نصبش روی این سیستم چیست؟» (فصل ۰.۸).No space left on device— دیسک پر شده. معمولاً چیزی بیسقف بزرگ شده — فایل ثبت رخداد، دانلودهای تکراری. اول قدم: «ده فایل یا پوشهی بزرگِ این دیسک را نشانم بده» (فصل ۷.۴.۳).
۲
نصب و اجرا
ModuleNotFoundError/ImportError— برنامه کتابخانهای میخواهد که در این محیط نیست. همان مشکلِ «روی سیستم من کار میکرد» (فصل ۷.۳.۱). اول قدم: خطا را بده و بگو «چه چیزی کم است و چطور نصبش کنم؟»port already in use— درِ ورودیای که برنامه میخواهد، دستِ برنامهی دیگری است — اغلب نسخهی قبلیِ خودش که هنوز زنده است. اول قدم: «چه چیزی روی این پورت است؟» (فصل ۷.۱.۴).syntax error— فایل از نظر نگارشی خراب است؛ اغلب حاصلِ ویرایشِ نصفه. اول قدم: خطا شمارهی خط را میگوید — همان خط و دو خط قبلش را نشان بده و بپرس چه کم است.context length exceeded— پنجرهی context پر شده؛ ورودی بزرگتر از ظرفیت است. اول قدم: کار را بشکن یا فقط تکهی لازم را بده (فصل ۱.۳ و فصل ۲.۵.۲).
۳
شبکه و سرویس
401 Unauthorized/invalid api key— کلیدت نامعتبر است: غلط کپی شده، منقضی شده، یا در محیطِ تازه اصلاً منتقل نشده — شایعترین خرابیِ اولین deploy (فصل ۷.۵ و فصل ۷.۴.۳).403 Forbidden— کلید معتبر است ولی این کار را اجازه ندارد؛ یا دسترسیات محدود است، یا از جایی وصل شدهای که سرویس نمیپذیرد (فصل ۰.۷).404 Not Found— این آدرس وجود ندارد. اگر دیروز کار میکرد، منبع عوض شده است (فصل ۸.۴.۵).429 rate limit exceeded— بیش از سقفِ مجاز درخواست دادهای. اول قدم: صبر — و اگر تکرار شد، بین درخواستها فاصله بگذار (فصل ۸.۴.۱).connection refused / timed out— به مقصد نمیرسد: سرویس خاموش است، آدرس غلط است، یا شبکه مسدود است — که در ایران همیشه یکی از گزینههای جدی است (فصل ۰.۷). اول قدم: همان آدرس را در مرورگر امتحان کن تا بفهمی مشکل از برنامه است یا از شبکه.SSL certificate error— مرورگر یا برنامه به هویتِ رمزنگاریِ مقصد اعتماد نکرد. گاهی مشکل از مقصد است، گاهی از شبکهی بینِ راه. اول قدم: از ایجنت بپرس این خطا برای این دامنه یعنی چه — و هیچوقت راهحل «بررسی گواهی را خاموش کن» را قبول نکن؛ آن قفل برای محافظت از خودِ توست (فصل ۷.۴.۲).
بهخاطر بسپار پیام خطا سندِ جرم نیست، آدرس است. کاملش را کپی کن — نه خلاصهاش را — و همان قالبِ «خطا به فارسی» را بفرست. خطایی که کامل نقل شود، اغلب در همان جوابِ اول حل میشود (فصل ۴.۳.۲).