Módulo desativado. Será mesmo?
Desenvolvimento, Gerenciar minha loja, Magento 2
Publicado em 22 de julho de 2021
Sempre que queremos contornar rapidamente um problema, a primeira opção é muitas vezes desativar o módulo Magento que está apresentando erro. Mas nem sempre esta é a melhor solução. Entenda o porquê.
Como desativar um módulo no Magento 2
Todo módulo Magento pode ser desativado com um simples comando: bin/magento module:disable Fornecedor_Modulo.
O parâmetro Fornecedor_Modulo é obtido no arquivo registration.php. Ele está localizado na pasta do módulo que queremos desativar. Veja um exemplo:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Magenteiro_ConfigInfo',
__DIR__
);
Um módulo pode estar localizado na pasta app/code ou na pasta vendor, localizadas na raiz da loja. É nestas pastas que você encontrará as pastas de cada fornecedor. Por conseguinte, dentro de cada fornecedor, a pasta de um ou mais módulos.
Não tão desativado assim
Ao desativarmos um módulo com o comando acima, ele será desativado no arquivo app/etc/config.php da loja. Este arquivo contém uma lista de configurações travadas da loja, e também a lista de módulos da loja atual.
No entanto, um módulo com problema ainda pode trazer complicações mesmo depois de desativado com bin/magento module:disable. Especialmente quando você precisar recompilar as classes de sua loja.
Ao recompilar as classes com o comando bin/magento setup:di:compile o Magento criará versões compiladas das classes na pasta /generated/code (ou var/generated em versões mais antigas).
O problema
O problema é que este comando processará também as classes de módulos desativados. Surpreso(a)?!
Veja o que acontece quando há algo errado em um módulo desativado e tentamos fazer a compilação.

Isso pode ser causado em várias situações, entre elas:
- Uma dependência foi removida ou atualizada. Isso faz com que classes e métodos deixarem de existir.
- Algo passou a estar errado no código do módulo desativado. Foi o que aconteceu no exemplo acima.
- Uma atualização de ambiente fez uma das classes do módulo desativado passar a gerar erro. Por exemplo: atualização de php, remoção/adição de extensões, configurações do php.ini, etc
Além disso, quanto mais módulos nossa loja tiver mais tempo levaremos para realizar a compilação. Ou melhor, quanto mais classes tivermos, mais tempo levará nossa compilação. E não apenas aquelas em módulos ativos.
Embora o código gerado por estas classes não sejam gerados em /generated ou var/generated, o Magento faz a leitura e inclusão destas classes no processo de compilação.
O que fazer então? Como desabilitar (de verdade) um módulo no Magento?
O jeito mais seguro para evitar qualquer tipo de problema com um módulo é de fato removê-lo.
Alternativamente, você pode remover ou renomear o arquivo registration.php (ex: registration_.php) localizado na raiz dele. Isso fará com que ele realmente não seja lido pelo Magento nem mesmo no processo de compilação.
Usando Magento 1? Veja como desativar um módulo no Magento 1.
Se você está usando Magento 1.x ou OpenMage, desativar um módulo é algo um pouco mais fácil e seguro.
Todos os módulos instalados e reconhecidos pelo Magento estão na pasta app/etc/modules.
Basta encontrar o XML com o nome do módulo que deseja desativar e editá-lo. Dentro dele, altere o valor de <active> para false. Se preferir, apenas renomeie a extensão deste XML.
Desta forma o módulo não será reconhecido, lido ou processado em nenhum canto do Magento.
Na verdade, arquivos expostos por este módulo em pastas públicas como /js ou /skin de sua loja continuarão a estar disponíveis mesmo após este processo. Fique atento(a)!
Veja um exemplo:
<?xml version="1.0"?>
<config>
<modules>
<Modulo_Magento>
<active>false</active>
<codePool>local</codePool>
</Modulo_Magento>
</modules>
</config>
Conclusão
A instalação de um módulo ou componente em uma loja Magento deve ser feita sempre com cautela e cuidado. Preferencialmente por alguém que possa fazer uma pré-análise básica do módulo que está sendo instalado. Veja alguns cuidados com a instalação de temas por exemplo.
Muitos módulos adicionam atributos em nossa loja. Alguns destes atributos eventualmente dependem de classes deste módulo e que farão nossa loja quebrar no caso de uma desinstalação.
Outros módulos modificam atributos, entidades e tabelas existentes.
Saber o que um módulo vai modificar é quase tão importante quanto fazer um bom backup da base e dos arquivos da nossa loja.
Ter um controle de versão como git, e ambientes de produção e desenvolvimento separados é algo que nunca devemos abrir mão.
No artigo acima você pôde ver um pouco sobre o quanto um módulo – ainda que desativado – pode afetar negativamente nosso dia a dia e até mesmo um processo de deploy automatizado.
Conhecer os recursos do Magento ou mesmo entender como os componentes do Magento funcionam internamente é parte fundamental para qualquer profissional que queira administrar ou desenvolver para esta plataforma.
- Guest checkout bloqueado na API REST do Magento 2? Confira isso. - 7 de julho de 2026
- Você precisa testar esta plataforma de e-commerce - 9 de fevereiro de 2026
- A hora de montar o seu OnlyFans chegou! Veja 8 ideias pra começar o seu. - 4 de dezembro de 2024
Deixe seu comentário
[fbcomments url="https://www.magenteiro.com/blog/magento-2/desativar-modulo/"]