Receba notificações sobre os próximos lançamentos de Intlayer

    Recebo um erro relacionado aos sub-pacotes @intlayer/*

    Este problema geralmente ocorre após uma atualização dos pacotes Intlayer.

    Exemplo de mensagem de erro:

    Error: Cannot find module '@intlayer/types'
    TypeError: (0 , __intlayer_config_client.colorize) is not a functionat import { colorize } from '@intlayer/config';
    ✖ ERROR  No matching export in "node_modules/@intlayer/config/dist/esm/client.mjs" for import "clearModuleCache"node_modules/@intlayer/unmerged-dictionaries-entry/dist/esm/index.mjs:3:9:3 | import { clearModuleCache, configESMxCJSRequire } from "@intlayer/config";  |          ~~~~~~~~~~~~~~~~✖ ERRO  Nenhuma exportação correspondente em "node_modules/@intlayer/config/dist/esm/client.mjs" para a importação "configESMxCJSRequire"node_modules/@intlayer/unmerged-dictionaries-entry/dist/esm/index.mjs:3:27:3 | import { clearModuleCache, configESMxCJSRequire } from "@intlayer/config";  |                            ~~~~~~~~~~~~~~~~~~~~

    Razão

    Pacotes base como intlayer, react-intlayer, react-native-intlayer, vue-intlayer estão reutilizando os mesmos sub-pacotes como @intlayer/config, @intlayer/core, @intlayer/types para evitar duplicação de código.

    Entre duas versões, as exportações dos sub-pacotes não são garantidas como sendo as mesmas. Para limitar esse problema, o intlayer fixa a versão dos sub-pacotes para a versão do pacote principal.

    Ex: intlayer@1.0.0 usa @intlayer/config@1.0.0, @intlayer/core@1.0.0, @intlayer/types@1.0.0
    (Exceto para @intlayer/swc), os sub-pacotes @intlayer/* não são destinados a serem usados diretamente. Portanto, recomendamos não instalá-los diretamente.

    Resolução

    1. Garanta que as versões do pacote principal e dos sub-pacotes sejam as mesmas.
    {  "dependencies": {    "intlayer": "7.0.1",    "react-intlayer": "7.0.0", // Versão errada, deveria ser 7.0.1  },  "devDependencies": {    "intlayer-editor": "7.0.1",  },}
    1. Tente remover o arquivo de bloqueio (lockfile) e a pasta node_modules e reinstalar as dependências.

    Às vezes, o gerenciador de pacotes mantém uma versão antiga dos sub-pacotes no arquivo de bloqueio em cache. Para corrigir isso, você pode tentar remover o arquivo de bloqueio e a pasta node_modules e reinstalar as dependências.

    rm -rf package-lock.json node_modulesnpm install
    1. Verifique a instalação global

    Recomendamos instalar intlayer ou intlayer-cli globalmente para acessar os comandos CLI. Se a versão global não for a mesma que a versão local, o gerenciador de pacotes pode considerar a versão errada.

    Verifique se um pacote está instalado globalmente

    npm list -g --depth=0
    npm list -g --depth=0 | grep intlayer
    yarn global list
    pnpm list -g --depth=0

    Corrigir potenciais conflitos de dependências globais

    npm uninstall -g intlayer intlayer-cli
    yarn global remove intlayer intlayer-cli
    pnpm remove -g intlayer intlayer-cli
    1. Tente limpar o cache

    Em alguns ambientes como docker, github actions, ou plataformas de hospedagem web como Vercel, pode haver um cache presente. Você pode tentar limpar o cache e tentar a instalação novamente.

    Você também pode tentar limpar o cache do seu gerenciador de pacotes com o seguinte comando:

    npm cache clean --force
    yarn cache clean
    pnpm cache clean