Отримую помилку, пов'язану з підпакетами @intlayer/*
Ця проблема зазвичай виникає після оновлення пакетів Intlayer.
Приклад повідомлення про помилку:
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Причина
Базові пакети, такі як intlayer, react-intlayer, react-native-intlayer, vue-intlayer, повторно використовують ті самі суб-пакети @intlayer/config, @intlayer/core, @intlayer/types, щоб уникнути дублювання коду.
Між двома версіями експорти підпакетів не обов'язково збігаються. Щоб зменшити цю проблему, intlayer прив'язує версії підпакетів до версії головного пакета.
Наприклад: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 і перевстановити залежності.
Інколи пакетний менеджер зберігає стару версію sub-packages у lockfile або в кеші. Щоб виправити це, можна спробувати видалити lockfile та папку node_modules і перевстановити залежності.
Скопіюйте код у буфер обміну
- Перевірте версії локальних залежностей
Може статися, що ваш пакетний менеджер зберігає стару версію sub-packages у lockfile або в кеші.
Приклад intlayer@7.0.0 > @intlayer/config@7.0.0 > @intlayer/dictionary-entry@6.0.0.
Щоб виявити невідповідність між версіями локальних залежностей і версіями sub-packages, ви можете використати наступну команду:
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
На Windows замініть| grep intlayerна| findstr intlayerабо використайте PowerShell зSelect-String -Pattern "intlayer".
- Перевірте глобальну інсталяцію
Ми рекомендуємо встановити intlayer або intlayer-cli глобально, щоб мати доступ до CLI-команд. Якщо глобальна версія відрізняється від локальної версії, пакетний менеджер може обрати невірну версію.
Перевірити, чи пакет встановлено глобально
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
На Windows замініть| grep intlayerна| findstr intlayerабо використовуйте PowerShell зSelect-String -Pattern "intlayer".
Виправте потенційні конфлікти глобальних залежностей
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
- Спробуйте очистити кеш
У деяких середовищах, таких як Docker, GitHub Actions або хостинг-платформи на зразок Vercel, може бути задіяний кеш. Спробуйте очистити кеш і повторити встановлення.
Ви також можете очистити кеш вашого пакетного менеджера за допомогою наступних команд:
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
Скопіюйте код у буфер обміну
- Спробуйте видалити папку
.intlayer
Intlayer кешує зібрану версію самої себе в папці .intlayer/cache.
Цей кеш може бути пошкоджений, якщо версія intlayer відрізняється від версії, збереженої в кеші.
Ви можете спробувати видалити папку .intlayer і повторити збірку.
Скопіюйте код у буфер обміну