אני מקבל שגיאה הקשורה לתת-חבילות של @intlayer/*
בעיה זו מתרחשת בדרך כלל לאחר עדכון של חבילות Intlayer.
דוגמה להודעת שגיאה:
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
הסיבה
חבילות בסיס כגון intlayer, react-intlayer, react-native-intlayer, vue-intlayer עושות שימוש חוזר באותן תת-חבילות כגון @intlayer/config, @intlayer/core, @intlayer/types כדי למנוע כפילות קוד.
בין גרסאות שונות, לא מובטח שהייצואים (exports) של תת-החבילות יישארו זהים. כדי להגביל בעיה זו, intlayer נועלת (pins) את גרסת תת-החבילות לגרסת החבילה הראשית.
לדוגמה:intlayer@1.0.0משתמשת ב-@intlayer/config@1.0.0,@intlayer/core@1.0.0,@intlayer/types@1.0.0
(למעט@intlayer/swc), תת-החבילות של@intlayer/*אינן מיועדות לשימוש ישיר. לכן אנו ממליצים שלא להתקין אותן ישירות.
פתרון
- ודא שגרסאות החבילה הראשית ותת-החבילות זהות.
העתקת הקוד ללוח
- נסה למחוק את ה-lockfile ואת תיקיית node_modules ולהתקין מחדש את התלויות.
לעתים מנהל החבילות שומר ב-lockfile גרסה ישנה של תת-החבילות במטמון (cache). כדי לתקן זאת, תוכל לנסות למחוק את ה-lockfile ואת תיקיית node_modules ולהתקין מחדש את התלויות.
העתקת הקוד ללוח
- בדוק גרסאות תלויות מקומיות
ייתכן שמנהל החבילות שלך שומר במטמון גרסה ישנה של תת-החבילות ב-lockfile.
לדוגמה: intlayer@7.0.0 > @intlayer/config@7.0.0 > @intlayer/dictionary-entry@6.0.0.
כדי לזהות אי-התאמה בין גרסאות התלויות המקומיות לבין גרסאות תת-החבילות, תוכל להשתמש בפקודה הבאה:
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
ב-Windows, החלף את| grep intlayerב-| findstr intlayerאו השתמש ב-PowerShell עםSelect-String -Pattern "intlayer".
- בדוק התקנה גלובלית
אנו ממליצים להתקין את intlayer או intlayer-cli באופן גלובלי כדי לגשת לפקודות ה-CLI. אם הגרסה הגלובלית שונה מהגרסה המקומית, מנהל החבילות עלול להתחשב בגרסה הלא נכונה.
בדוק אם החבילה מותקנת גלובלית
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
ב-Windows, החלף את| grep intlayerב-| findstr intlayerאו השתמש ב-PowerShell עםSelect-String -Pattern "intlayer".
תקן התנגשויות תלויות גלובליות פוטנציאליות
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
- נסה לנקות את המטמון (Cache)
בסביבות מסוימות כגון Docker, GitHub Actions, או פלטפורמות אחסון אתרים כמו Vercel, ייתכן שקיים מטמון. תוכל לנסות לנקות את המטמון ולנסות שוב את ההתקנה.
תוכל גם לנסות לנקות את המטמון של מנהל החבילות שלך באמצעות הפקודה המתאימה:
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
העתקת הקוד ללוח
- נסה למחוק את תיקיית
.intlayer
Intlayer שומרת במטמון גרסה ארוזה (bundled) של עצמה בתיקיית .intlayer/cache.
מטמון זה עלול להיפגם אם גרסת ה-intlayer הנוכחית אינה תואמת לגרסה שנשמרה במטמון.
תוכל לנסות למחוק את תיקיית .intlayer ולהריץ מחדש את ה-build.
העתקת הקוד ללוח