Skip to main content

macOS डेवलपर सेटअप

OpenClaw macOS एप्लिकेशन को स्रोत से बिल्ड और चलाएँ।

पूर्वापेक्षाएँ

  • Xcode 26.2+ (Swift 6.2 टूलचेन), Software Update में उपलब्ध नवीनतम macOS पर।
  • Gateway, CLI और पैकेजिंग स्क्रिप्ट के लिए Node.js 24.15+ और pnpm। Node 22.22.3+ भी काम करता है।

1. निर्भरताएँ इंस्टॉल करें

2. ऐप बिल्ड और पैकेज करें

आउटपुट dist/OpenClaw.app। Apple Developer ID प्रमाणपत्र के बिना, स्क्रिप्ट वैकल्पिक रूप से ऐड-हॉक साइनिंग का उपयोग करती है। डेवलपमेंट रन मोड, साइनिंग फ़्लैग और Team ID की समस्या निवारण के लिए, apps/macos/README.md देखें। रेपो रूट से तेज़ डेवलपमेंट लूप: scripts/restart-mac.sh (ऐड-हॉक साइनिंग के लिए --no-sign जोड़ें; --no-sign के साथ TCC अनुमतियाँ कायम नहीं रहतीं)।
ऐड-हॉक साइन किए गए ऐप सुरक्षा संकेत दिखा सकते हैं। यदि ऐप “Abort trap 6” के साथ तुरंत क्रैश हो जाए, तो समस्या निवारण देखें।

3. CLI और Gateway इंस्टॉल करें

पैकेज किया गया ऐप मानक scripts/install-cli.sh इंस्टॉलर को एम्बेड करता है। किसी नई प्रोफ़ाइल पर, ऑनबोर्डिंग के दौरान This Mac चुनें; Gateway विज़ार्ड शुरू करने से पहले ऐप मेल खाने वाला यूज़र-स्पेस CLI और रनटाइम इंस्टॉल करता है। मैन्युअल डेवलपमेंट रिकवरी के लिए, मेल खाने वाला CLI स्वयं इंस्टॉल करें:
pnpm add -g openclaw@<version> और bun add -g openclaw@<version> भी काम करते हैं। स्वयं Gateway के लिए Node अनुशंसित रनटाइम बना हुआ है।

समस्या निवारण

बिल्ड विफल: टूलचेन या SDK मेल नहीं खाता

macOS ऐप बिल्ड के लिए नवीनतम macOS SDK और Swift 6.2 टूलचेन (Xcode 26.2+) अपेक्षित हैं।
यदि संस्करण मेल नहीं खाते हैं, तो macOS/Xcode अपडेट करें और बिल्ड फिर से चलाएँ।

अनुमति देते समय ऐप क्रैश होता है

यदि Speech Recognition या Microphone एक्सेस की अनुमति देने का प्रयास करते समय ऐप क्रैश होता है, तो इसका कारण दूषित TCC कैश या सिग्नेचर का मेल न खाना हो सकता है।
  1. डीबग बंडल आईडी के लिए TCC अनुमतियाँ रीसेट करें:
  2. यदि यह विफल हो जाए, तो macOS में एकदम नई स्थिति लागू करने के लिए scripts/package-mac-app.sh में BUNDLE_ID को अस्थायी रूप से बदलें।

Gateway अनिश्चित काल तक “Starting…” दिखाता है

जाँचें कि क्या कोई निष्क्रिय प्रक्रिया पोर्ट को व्यस्त रखे हुए है:
यदि कोई मैन्युअल रन पोर्ट को व्यस्त रखे हुए है, तो उसे रोकें (Ctrl+C), या अंतिम उपाय के रूप में ऊपर मिली PID को समाप्त करें।

संबंधित