마 젠토 2-모듈을 제거하는 방법?


답변:


43

그것은 당신이 링크 한 문서에서 이것을 말합니다 :

이 명령은 Composer 패키지로 정의 된 모듈에서만 작동합니다.

composer를 통해 모듈을 설치하지 않으면 작동하지 않습니다.
를 통해서만 비활성화 할 수 있습니다 bin/magento module:disable SP_Gridthumbs.

모듈을 제거하려면 폴더 SP/Gridthumbs를 제거하고 테이블에서 module = 'SP_Gridthumbs'인 setup_module레코드를 제거하고 모듈 설치로 추가 된 다른 테이블 또는 레코드를 제거하십시오.
또한으로 라인 제거 SP_Gridthumbs에서을app/etc/config.php


프로젝트 에서이 모듈을 모두 제거하는 방법은 비활성화하는 것입니다.
MrTo-Kane

@ MagentoOdoo.com 내 업데이트 참조
Marius

또한 캐시를 정리해야합니다
WaPoNe

3
나는 그것을 테스트했다. Remove the line with SP_Gridthumbs from app/etc/config.php필요하지 않습니다. Magento는 다음과 같이 실행하여 레코드를 자동으로 제거합니다.php bin/magento setup:upgrade
Key Shang

실제로 테이블에서 하나의 레코드를 업데이트해야 하며이 코드는 InstallData.php :: install ()에 넣고 모듈 및 설정을 활성화하면 업그레이드 할 때 코드가 실행됩니다. 이제 모듈을 비활성화 할 때 필요합니다. 표에서 레코드를 제거해야합니다 .Uninstall :: uninstall에서 코드를 수행했지만 모듈을 비활성화 할 때 트리거하지 마십시오. 모듈 및 설정을 비활성화 할 때 어떤 파일 트리거가 발생
합니까

10

다음은 Magento 2에서 수동으로 모듈을 제거하는 단계입니다.

  • 에서 모듈 폴더 삭제 {folder path}\app\code
  • 에서 모듈 항목 제거 setup_module
  • 명령을 실행

    {magento 프로젝트 루트 경로}> {php path} \ php.exe bin / magento setup : upgrade => 설치 업그레이드

    {magento 프로젝트 루트 경로}> {php path} \ php.exe bin / magento 캐시 : flush => 캐시 지우기


4

어때요?

php bin/magento module:disable <ExtensionProvider_ExtensionName> --clear-static-content
composer remove VendorName/VendorExtensionRepository
php bin/magento setup:upgrade

작곡가 모듈의 경우 :

php bin/magento module:disable <ExtensionProvider_ExtensionName> --clear-static-content
php bin/magento module:uninstall <ExtensionProvider_ExtensionName> -r
composer update
php bin/magento setup:upgrade

설정 실행 : composer를 통해 설치되지 않은 모듈이있는 동안 업그레이드하면 모듈이 설치되고 다시 활성화되어 목적을 상실합니다.
Mohammed Joraid

1
@MohammedJoraid 업데이트 된 답변보기
Arvind07

1

작성기 설치 모듈을 제거하는 단계

  • bin / magento 모듈 : 네임 스페이스 _ 모듈 이름 비활성화
  • bin / magento 모듈 : Namespace_ModuleName 제거
  • 작곡가는 네임 스페이스 / 모듈 이름을 제거
  • 빈 / 마 젠토 캐시 : 플러시

앱 / 코드에서 수동으로 추가 한 모듈을 제거하는 단계

  • bin / magento 모듈 : 네임 스페이스 _ 모듈 이름 비활성화
  • 앱 / 코드에서 디렉토리를 수동으로 제거
  • bin / magento 설정 : 업그레이드
  • 빈 / 마 젠토 캐시 : 플러시

0

먼저 사용하여 모듈을 비활성화하는 것이 현명하다고 생각합니다.

PHP는 빈 / 젠토 모듈 : 비활성화 모듈 이름

이것은 의존성을 검사하기 때문에 ...


0

magento 2에서 확장 프로그램 제거 :

  1. CLI에서 magento 프로젝트 디렉토리로 이동하여 명령을 실행하여 모듈 상태를 확인하십시오. php bin/magento module:status

  2. 활성화 된 경우 명령을 실행하여 비활성화하십시오. php bin/magento module:disable <extension name>

  3. 데이터베이스로 이동하여 'setup_module'테이블을 검색하고 확장명을 검색하여 삭제하십시오.

  4. 앱 / 코드 폴더에서 확장명 폴더 삭제

  5. setup : upgrade 명령을 실행하십시오.

  6. 성공적으로 확장 프로그램을 제거했습니다.


0

여기에는 MAGENTO 2에서 제 3 자 모듈을 수동으로 제거하기위한 단계별 지침이 있습니다.

Step 1: Remove the module Vendor_Mymodule from app\etc\config.php

Step 2: Drop module tables or columns from database, please check app\code\Vendor\Module\Setup folder for more information

Step 3: Remove the folder app\code\vendor\Mymodule

Step 4: Remove module configuration settings from core_config_data table by running the following query


 DELETE FROM setup_module WHERE module LIKE 'vendor_Mymodule';
Step 5: Run the following command by logging onto your SSH server

 php bin/magento setup:upgrade
But if you have installed the module via composer then you can run the following list of commands by SSHing on the box to uninstall third party module

 php bin/magento module:uninstall -r {{module_name}}
for example

php bin/magento module:uninstall -r Scommerce_GoogleTagManagerPro
-r flag removes module data 

Run the following command once module has been successfully uninstalled.

 php bin/magento setup:upgrade

사용자 정의 Magento2 모듈로

step1: disable the module 
$php bin/magento module:disable Vendor_MyModule
step2: remove the folder from directory app/code/Vendor
step3: remove the line of code from app/etc/config.php file.

타사 / 작곡가 설치 확장 프로그램 제거에 대한 자세한 내용

https://www.scommerce-mage.com/blog/magento2-uninstall-module.html


유지하려는 동일한 공급 업체에서 다른 모듈을 가지고 있다면 어떻게합니까? SQL 쿼리는 이러한 문제를 해결합니다.
Dominic Xigen

내 답변을 편집했습니다.
Arshad Syed

0

마 젠토 2 : 모듈 제거 방법

1. 수동으로 설치 한 경우 :

remove the folder app/code/<Vendor>/<Module>
drop module tables from database
remove the config settings.

DELETE FROM core_config_data WHERE path LIKE 'vendor_module/%'   
DELETE FROM core_config_data WHERE path LIKE 'vendor_module/%'

remove the module <Vendor>_<Module> from app/etc/config.php

remove the module <Vendor>_<Module> from table setup_module

DELETE FROM setup_module WHERE module='<Vendor>_<Module>'    
DELETE FROM setup_module WHERE module='<Vendor>_<Module>'

2. 작곡가를 통해 설치 한 경우 :

run this in console
php bin/magento module:status
php bin/magento module:disable mirasvit/module-core --clear-static-content
php bin/magento module:uninstall -r <Vendor>_<Module>    
php bin/magento setup:upgrade
php bin/magento c:f
composer remove mirasvit/module-core

누군가가 도움을 받기를 바랍니다


1
composer.json을 설치 한 다음 날 composer.json 파일을 사용하지 않고 모듈을 만들었습니다. composer를 사용하여 모듈을 제거 할 수 있습니까? 내 모듈 => github.com/ZusZus/simple-module/tree/master/app/code/Gta/Mymod @matinict
zus

@zus 피하기 충돌 먼저 그래 내가 유 작곡가를 통해 / 제거를 설치할 수 있다고 생각, 응용 프로그램 / 코드에서 코드를 제거해야합니다 (UR 모듈 링크가없는 작업 작곡가 될 수있다 u는 당신의 repo 추가 할 필요가 설치 packagist.org )
matinict

-7
  1. 열다 setup/src/Magento/Setup/Console/Command/ModuleUninstallCommand.php

교체

protected function validate(array $modules)
{
    $messages = [];
    $unknownPackages = [];
    $unknownModules = [];
    $installedPackages = $this->composer->getRootRequiredPackages();
    foreach ($modules as $module) {
        if (array_search($this->packageInfo->getPackageName($module), $installedPackages) === false) {
            $unknownPackages[] = $module;
        }
        if (!$this->fullModuleList->has($module)) {
            $unknownModules[] = $module;
        }
    }
    $unknownPackages = array_diff($unknownPackages, $unknownModules);
    if (!empty($unknownPackages)) {
        $text = count($unknownPackages) > 1 ?
            ' are not installed composer packages' : ' is not an installed composer package';
        $messages[] = '<error>' . implode(', ', $unknownPackages) . $text . '</error>';
    }
    if (!empty($unknownModules)) {
        $messages[] = '<error>Unknown module(s): ' . implode(', ', $unknownModules) . '</error>';
    }
    return $messages;
}

protected function validate(array $modules)
{
    $messages = [];
    $unknownPackages = [];
    $unknownModules = [];
    $installedPackages = $this->composer->getRootRequiredPackages();
    foreach ($modules as $module) {
        if (array_search($this->packageInfo->getPackageName($module), $installedPackages) === false) {
            $unknownPackages[] = $module;
        }
        if (!$this->fullModuleList->has($module)) {
            $unknownModules[] = $module;
        }
    }
    if (!empty($unknownModules)) {
        $messages[] = '<error>Unknown module(s): ' . implode(', ', $unknownModules) . '</error>';
    }
    return $messages;
}
  1. 열다 setup/src/Magento/Setup/Model/ModuleUninstaller.php

교체

public function uninstallCode(OutputInterface $output, array $modules)
{
    $output->writeln('<info>Removing code from Magento codebase:</info>');
    $packages = [];
    /** @var \Magento\Framework\Module\PackageInfo $packageInfo */
    $packageInfo = $this->objectManager->get('Magento\Framework\Module\PackageInfoFactory')->create();
    foreach ($modules as $module) {
        $packages[] = $packageInfo->getPackageName($module);
    }
    $this->remove->remove($packages);
}

public function uninstallCode(OutputInterface $output, array $modules)
{
    $output->writeln('<info>Removing code from Magento codebase:</info>');
    $packages = [];
    /** @var \Magento\Framework\Module\PackageInfo $packageInfo */
    $packageInfo = $this->objectManager->get('Magento\Framework\Module\PackageInfoFactory')->create();
    foreach ($modules as $module) {
        $packages[] = $packageInfo->getPackageName($module);
    }
}
  1. "lyaska masyaska"라고 말하세요

솔루션은 프로덕션 서버에서 권장되지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.