Magento 2 - วิธีถอนการติดตั้งโมดูล


11

จะถอนการติดตั้งโมดูลได้อย่างไร

ฉันอ่านเอกสารนี้

แต่มันก็ไม่ประสบความสำเร็จและแสดงด้านล่าง:

php bin/magento module:uninstall SP_Gridthumbs 

SP_Gridthumbs ไม่ใช่แพ็คเกจผู้แต่งที่ติดตั้ง


รายละเอียดคำอธิบายของโมดูลถอนการติดตั้งrakeshjesadiya.com/…
Rakesh Jesadiya

คำตอบ:


43

มันระบุไว้ในเอกสารที่คุณเชื่อมโยงสิ่งนี้:

คำสั่งนี้ทำงานได้เฉพาะกับโมดูลที่กำหนดเป็นแพ็คเกจนักแต่งเพลง

หากคุณไม่ได้ติดตั้งโมดูลผ่านผู้แต่งมันจะไม่ทำงาน
คุณสามารถปิดการใช้งานผ่านทาง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 () และเมื่อเปิดใช้งานโมดูลและการตั้งค่า: อัพเกรดมันเรียกใช้รหัสของฉัน และตอนนี้ฉันต้องการเมื่อฉันปิดการใช้งานโมดูลแล้วควรลบบันทึกจากตารางที่ฉันทำรหัสในการถอนการติดตั้ง :: ถอนการติดตั้ง แต่ไม่เรียกเมื่อปิดการใช้งานโมดูล ไฟล์ทริกเกอร์ใดเมื่อปิดการใช้งานโมดูลและการตั้งค่า: อัพเกรด
HaFiz Umer

10

ด้านล่างเป็นขั้นตอนในการถอนการติดตั้งโมดูลด้วยตนเองสำหรับ Magento 2

  • ลบโฟลเดอร์โมดูลออก {folder path}\app\code
  • ลบรายการโมดูลจาก setup_module
  • เรียกใช้คำสั่ง

    {เส้นทาง root โครงการ magento}> {เส้นทาง php} \ php.exe การตั้งค่า bin / magento: upgrade => การอัพเกรดการติดตั้ง

    {เส้นทาง root โครงการ magento}> {เส้นทาง php} \ php.exe bin / magento cache: 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

กำลังเรียกใช้การตั้งค่า: อัปเกรดขณะที่มีโมดูลที่ไม่ได้ติดตั้งผ่านทางผู้แต่งจะได้รับการติดตั้งและเปิดใช้งานอีกครั้งซึ่งเอาชนะวัตถุประสงค์
Mohammed Joraid

1
@MohammedJoraid ดูคำตอบที่อัปเดตแล้ว
Arvind07

1

ขั้นตอนในการถอนการติดตั้งโมดูลผู้เรียบเรียง

  • โมดูล bin / magento: ปิดการใช้งาน Namespace_ModuleName
  • โมดูล bin / magento: ถอนการติดตั้ง Namespace_ModuleName
  • นักแต่งเพลงลบเนมสเปซ / ชื่อโมดูล
  • bin / magento cache: ล้างข้อมูล

ขั้นตอนในการถอนการติดตั้งโมดูลที่เพิ่มด้วยตนเองในแอพ / รหัส

  • โมดูล bin / magento: ปิดการใช้งาน Namespace_ModuleName
  • ลบไดเรกทอรีจากแอป / รหัสด้วยตนเอง
  • การตั้งค่า bin / magento: อัปเกรด
  • bin / magento cache: ล้างข้อมูล

0

ฉันคิดว่าเป็นการฉลาดที่จะปิดใช้งานโมดูลก่อน

PHP โมดูล bin / วีโอไอพี: ปิดการใช้งานmodulename

เพราะนี่เป็นการตรวจสอบการพึ่งพา ...


0

ถอนการติดตั้งส่วนขยายจาก magento 2:

  1. ไปที่ไดเรกทอรีโครงการวีโอไอพีของคุณใน CLI และตรวจสอบสถานะโมดูลโดยใช้คำสั่ง php bin/magento module:status

  2. หากมีการเปิดใช้งานให้ปิดการใช้งานโดยใช้คำสั่ง php bin/magento module:disable <extension name>

  3. ไปที่ฐานข้อมูลและค้นหาตาราง 'setup_module' และค้นหาชื่อส่วนขยายของคุณแล้วลบออก

  4. ลบโฟลเดอร์ชื่อนามสกุลของคุณออกจากโฟลเดอร์แอพ / รหัส

  5. รันคำสั่ง setup: upgrade

  6. คุณประสบความสำเร็จในการถอนการติดตั้งส่วนขยาย


0

นี่คือขั้นตอนตามคู่มือขั้นตอนในการถอนการติดตั้งโมดูลของบุคคลที่สามจาก MAGENTO 2 ด้วยตนเอง

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

Magento 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 จะสามารถถอนการติดตั้งโมดูลโดยใช้ผู้แต่งได้หรือไม่ ฉันโมดูล => github.com/ZusZus/simple-module/tree/master/app/code/Gta/Mymod @matinict
ZUS

@ zus เพื่อหลีกเลี่ยงข้อขัดแย้งก่อนอื่นคุณต้องลบรหัสจากแอป / รหัสใช่ฉันคิดว่าคุณสามารถติดตั้ง / ถอนการติดตั้งผ่านทางผู้แต่ง (ลิงก์โมดูล ur อาจจะไม่ทำงานนักแต่งเพลงติดตั้งคุณต้องเพิ่ม 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.