رفتن به محتوای اصلی
FA

خانه / وبلاگ / نصب

مک می‌گوید «Clash Verge is damaged and can't be opened» — سه راه‌حل

مک می‌گوید «Clash Verge is damaged and can't be opened» — سه راه‌حل

روی مک روی Clash Verge دوبار کلیک می‌کنید و این را می‌گیرید:

"Clash Verge" is damaged and can't be opened. You should move it to the Trash.

پاکش نکنید. فایل تقریباً به‌طور قطع سالم است.

چرا این اتفاق می‌افتد

مک سازوکار امنیتی‌ای به نام Gatekeeper دارد. وقتی فایلی را با مرورگر دانلود می‌کنید، سیستم یک صفت گسترده به نام com.apple.quarantine به آن می‌چسباند.

هنگام باز کردن، Gatekeeper دو چیز را بررسی می‌کند:

Gatekeeper چه چیزی را بررسی می‌کندقرنطینه شده است؟هر چیزی که مرورگر دانلود کند بلهتوسط توسعه‌دهنده امضا شده؟به حساب پولی توسعه‌دهندهٔ اپل نیاز داردتأیید (notarize) شده؟فرایند notarizationهر سه باید رد شوندوگرنه «damaged» می‌گیرید
پروژه‌های متن‌باز معمولاً امضای پولی ندارند، پس در گام دوم می‌افتند

نکتهٔ کلیدی: «damaged» واژه‌گزینی اپل است، نه اظهارنظری دربارهٔ وضعیت فایل. همین سازوکار در نسخه‌های قدیمی‌تر مک می‌گفت «از توسعه‌دهندهٔ ناشناس»، که خیلی دقیق‌تر بود. عملاً هر پروژهٔ متن‌بازی که پول گواهی توسعه‌دهنده را نداده همین پیام را تولید می‌کند.

راه‌حل ۱: دستور xattr (پیشنهادی)

مستقیم‌ترین گزینه و باریک‌ترین از نظر دامنه — پرچم قرنطینه را فقط از همین یک برنامه برمی‌دارد.

ترمینال را باز کنید (Launchpad ← Other ← Terminal) و این را بچسبانید:

sudo xattr -rd com.apple.quarantine /Applications/Clash\ Verge.app

Enter بزنید، بعد رمز ورودتان را تایپ کنید. هنگام تایپ چیزی روی صفحه ظاهر نمی‌شود — طبیعی است. دوباره Enter بزنید.

حالا Clash Verge باز می‌شود.

اگر برنامه‌تان نام یا مسیر دیگری دارد تنظیمش کنید. ساده‌ترین راه این است که sudo xattr -rd com.apple.quarantine را تایپ کنید (به فاصلهٔ انتهایی دقت کنید) و بعد آیکون برنامه را داخل پنجرهٔ ترمینال بکشید — مسیر خودش پر می‌شود.

راه‌حل ۲: راست‌کلیک و Open

اگر ترجیح می‌دهید سراغ خط فرمان نروید:

مسیر راست‌کلیک1Clash Verge را در Applications پیدا کنیددوبار کلیک نکنید2با Control روی آیکون کلیک کنید و Open را بزنیدیا راست‌کلیک ← Open3در پنجرهٔ گفت‌وگو دوباره Open را بزنیداین بار دکمهٔ Open هست نه فقط Cancel4از آن پس عادی دوبار کلیک کنیدسیستم انتخابتان را به یاد می‌سپارد
در نسخه‌های تازه‌تر مک گاهی دکمهٔ Open ظاهر نمی‌شود — آن‌وقت از راه‌حل ۱ یا ۳ استفاده کنید

راه‌حل ۳: اجازه دادن در تنظیمات سیستم

روی macOS 13 و بالاتر:

۱. روی برنامه دوبار کلیک کنید، بگذارید «damaged» بگوید، بعد Cancel را بزنید ۲. System Settings ← Privacy & Security را باز کنید ۳. پایین بروید تا ببینید «'Clash Verge' was blocked from use because it is not from an identified developer» ۴. روی Open Anyway بزنید ۵. برای تأیید رمزتان را بزنید

آن اعلان فقط در پنجرهٔ زمانی کوتاهی بعد از تلاش برای باز کردن برنامه ظاهر می‌شود. اگر پیدایش نکردید، یک بار روی برنامه دوبار کلیک کنید و فوراً برگردید.

چرا Gatekeeper را خاموش نکنیم

خیلی از راهنماها می‌گویند این را اجرا کنید:

sudo spctl --master-disable

که گزینهٔ «Anywhere» را زیر Privacy & Security اضافه می‌کند و همهٔ بررسی‌های آینده را متوقف می‌کند.

نکنید. Gatekeeper برای بیشتر کاربران دفاع باارزشی است، و خاموش کردن سراسری‌اش برای نصب یک برنامه معاملهٔ بدی است. راه‌حل ۱ فقط روی یک برنامه اثر دارد، همان نتیجه را می‌دهد و خطرش خیلی کمتر است.

اگر پیشاپیش خاموشش کرده‌اید، بعد از تمام شدن کار دوباره روشنش کنید:

sudo spctl --master-enable

مقایسهٔ هر سه

سه راه‌حل کنار همدستور xattrدامنه: یک نرخ موفقیت: عملاً ۱۰۰ درصدبه ترمینال نیاز داردپیشنهادیباز کردن با راست‌کلیکدامنه: یک نرخ موفقیت: روی نسخه‌های تازه‌تر شانسیکاملاً گرافیکیاجازه در تنظیماتدامنه: یک نرخ موفقیت: بالاباید بلافاصله بعد از اجرای ناموفق عمل کنید
هر سه فقط یک برنامه را تحت تأثیر می‌گذارند؛ هیچ‌کدام امنیت کلی سیستم را ضعیف نمی‌کند

پیام‌های خطای مرتبط

«Apple could not verify this app is free of malware»

همان دستهٔ مشکل. هر سه راه‌حل بالا کار می‌کنند.

«cannot be opened because it is not designed for this Mac»

این یکی ناهماهنگی واقعی است — نسخهٔ Apple Silicon را روی مک اینتل نصب کرده‌اید یا برعکس. به صفحهٔ دانلود برگردید و معماری درست را بردارید. تشخیص تراشه در راهنمای نصب مک آمده.

باز می‌شود و بلافاصله می‌بندد، بدون پیام

از ترمینال اجرایش کنید تا خطای واقعی را ببینید:

/Applications/Clash\ Verge.app/Contents/MacOS/clash-verge

ترمینال دلیل واقعی شکست را چاپ می‌کند، که از حدس زدن دربارهٔ یک خروج بی‌صدا بهتر است. علت معمول یک پیکربندی خراب است؛ پاک کردن پوشهٔ پیکربندی و وارد کردن دوبارهٔ اشتراک درستش می‌کند:

rm -rf ~/Library/Application\ Support/io.github.clash-verge-rev.clash-verge-rev

خلاصه

«damaged» پیامی است که در مک به‌شدت بد فهمیده می‌شود. یعنی «نمی‌توانم بررسی کنم این از کجا آمده»، نه «این فایل خراب است».

از xattr -rd com.apple.quarantine استفاده کنید — یک برنامه، یک دستور، بدون دست زدن به تنظیمات امنیتی سراسری.

پیش‌شرطش البته این است که نصب‌کننده‌تان از صفحهٔ دانلود ما یا صفحهٔ انتشار خود پروژه آمده باشد. هر چیزی با منبع نامعلوم را بهتر است پاک کنید تا درست کنید.