עבודה מ-Windows
הכול ב-Ploa עובד ממחשב Windows, חוץ מהבנייה של אפליקציית האייפון עצמה, שצריכה מק עם Xcode. הסוכן, פרטי החנות, בניות אנדרואיד, צילומי מסך מאמולטור אנדרואיד, ה-web והשרת של האפליקציה עובדים כולם מ-Windows. בניית האייפון רצה על מק במקום אחר, ומשם Ploa לוקחת אותה ל-TestFlight ול-App Store.
התקנה
ב-PowerShell:
irm https://ploa.dev/install.ps1 | iex ploa login ploa mcp install
הסקריפט בודק שיש Node 24, שם את הקבצים ב-%USERPROFILE%\.ploa\cli ומפעיל קטן בשם ploa.cmd ב-%USERPROFILE%\.ploa\bin, ומוסיף אותו ל-PATH שלך (לא של כל המחשב). שום דבר לא רץ כמנהל מערכת. אחרי ההתקנה פותחים טרמינל חדש ומפעילים מחדש את הסוכן, כדי שיראו את ה-PATH החדש. מעדכנים אחר כך עם ploa update.
אפשר גם עם npm: npm install -g @ploa/cli. בכל דרך, ploa mcp install כותב לסוכנים את מה שהם צריכים כדי להפעיל את Ploa ב-Windows (בהתקנה מ-npm זה cmd /c npx.cmd, כי סוכנים מפעילים שרת בלי shell).
מה עובד ב-Windows
| מה | מה המחשב צריך |
|---|---|
| הסוכן וכלי ה-MCP של Ploa | Node 24 ומעלה |
| בניות אנדרואיד במחשב הזה (Expo, React Native, Flutter, Capacitor, Gradle) | JDK 17 ומעלה (winget install Microsoft.OpenJDK.17, או זה של Android Studio), וה-Android SDK, ש-Android Studio שם ב-%LOCALAPPDATA%\Android\Sdk. ל-Flutter: Flutter ב-PATH או ב-%USERPROFILE%\flutter. |
| צילומי מסך ל-Google Play | אמולטור אנדרואיד שרץ: הסוכן מצלם אותו עם ploa_screenshot_capture, שמוצא את adb.exe ב-Android SDK. |
| פרטי החנות, פרטיות, רכישות, בודקים, App Review ושחרורים | כלום: הם רצים ב-Ploa. |
| ה-web והשרת של האפליקציה | רק כלי הבנייה של הפרויקט עצמו. |
| בניות ב-GitHub או ב-Google Cloud שלך | כלום: הן בונות את מה שנדחף. |
מה לא עובד ב-Windows: בניית אפליקציית האייפון במחשב הזה, וצילומי מסך מסימולטור ה-iOS. ploa doctor אומר מה יש במחשב ולאן הולכות בניות האייפון במקום.
אפליקציית האייפון מ-Windows
הסוכן שואל איפה לבנות, ואומר לפני בנייה שעולה לך דקות:
- על המקים של GitHub. בעלים מאשר אותם בהגדרות ה-GitHub של האפליקציה, והבנייה רצה ב-GitHub ממה שנדחף. במאגר פרטי דקת מק נספרת כעשר דקות GitHub שלך (בניית אייפון היא בערך 150 עד 200); במאגר ציבורי זה בחינם.
- על מק שלך או של מישהו מהצוות, כ-runner של GitHub:
ploa runnerעל אותו מק. ראה GitHub. - ב-Xcode Cloud. אפל בונה וחותמת, ו-Ploa עוקבת עד TestFlight. הצעד הראשון שלו נעשה פעם אחת ב-Xcode על מק. ראה הגדרת Xcode Cloud.
צילומי אייפון: סימולטור ה-iOS צריך מק, אז מצלמים על אותו מק, או מכינים אותם בגדלים ש-ploa_screenshot_specs נותן ומעלים עם ploa_screenshot_upload (ploa_screenshot_check בודק כל אחד קודם).
מאגר ששמרו בו מ-Windows
Windows לא שומרת על קבצים סימון "ניתן להרצה", ולפעמים שומרת סקריפטים עם סופי שורה של Windows (CRLF), אז gradlew ששמרו מ-Windows לא עולה על מק, על לינוקס או ב-GitHub ("Permission denied" או "bad interpreter"). Ploa מתקנת את הקובץ לפני ש-Gradle רץ שם, ואומרת את זה בלוג של הבנייה. כדי לתקן במאגר פעם אחת:
git update-index --chmod=+x android/gradlew
ומוסיפים קובץ .gitattributes בתיקיית השורש של המאגר, כדי שסקריפטים יישמרו עם סופי שורה LF:
gradlew text eol=lf *.sh text eol=lf
אותו דבר ל-ios/ci_scripts/ci_post_clone.sh כשמשתמשים ב-Xcode Cloud: ploa xcode-cloud אומר את זה כשהוא מוסיף אותו.
WSL
מריצים את Ploa או ב-Windows או בתוך WSL, לא חצי פה וחצי שם: הסוכן, ploa וה-Android SDK צריכים להיות באותו צד. בתוך WSL זה לינוקס: מתקינים עם curl -fsSL https://ploa.dev/install.sh | sh, ומשתמשים ב-Android SDK ללינוקס.
כשמשהו לא עובד
| מה כתוב | מה עושים |
|---|---|
| 'ploa' is not recognized as an internal or external command | פותחים טרמינל חדש אחרי ההתקנה (ה-PATH נקרא כשהוא נפתח), או מריצים %USERPROFILE%\.ploa\bin\ploa.cmd. |
| running scripts is disabled on this system | המדיניות של PowerShell חוסמת את ploa.ps1 של npm. מריצים ploa.cmd במקום, או מתירים פעם אחת את הסקריפטים שלך: Set-ExecutionPolicy -Scope CurrentUser RemoteSigned. |
| הסוכן לא מפעיל את Ploa אחרי התקנה מ-npm | מריצים שוב ploa mcp install עם ה-ploa החדש, ומפעילים מחדש את הסוכן. |
| Xcode: not on Windows | כך זה אמור להיות: בונים את אפליקציית האייפון במקום אחר. |
עוד: פתרון בעיות.