จะถอนการติดตั้งโมดูลได้อย่างไร
ฉันอ่านเอกสารนี้
แต่มันก็ไม่ประสบความสำเร็จและแสดงด้านล่าง:
php bin/magento module:uninstall SP_Gridthumbs
SP_Gridthumbs ไม่ใช่แพ็คเกจผู้แต่งที่ติดตั้ง
จะถอนการติดตั้งโมดูลได้อย่างไร
ฉันอ่านเอกสารนี้
แต่มันก็ไม่ประสบความสำเร็จและแสดงด้านล่าง:
php bin/magento module:uninstall SP_Gridthumbs
SP_Gridthumbs ไม่ใช่แพ็คเกจผู้แต่งที่ติดตั้ง
คำตอบ:
มันระบุไว้ในเอกสารที่คุณเชื่อมโยงสิ่งนี้:
คำสั่งนี้ทำงานได้เฉพาะกับโมดูลที่กำหนดเป็นแพ็คเกจนักแต่งเพลง
หากคุณไม่ได้ติดตั้งโมดูลผ่านผู้แต่งมันจะไม่ทำงาน
คุณสามารถปิดการใช้งานผ่านทางbin/magento module:disable SP_Gridthumbs
เท่านั้น
ในการลบโมดูลให้ลบโฟลเดอร์SP/Gridthumbs
ลบบันทึกด้วย module = 'SP_Gridthumbs' จากตารางsetup_module
และลบตารางหรือระเบียนอื่น ๆ ที่เพิ่มโดยการติดตั้งโมดูล
ยังลบบรรทัดด้วยSP_Gridthumbs
จากapp/etc/config.php
Remove the line with SP_Gridthumbs from app/etc/config.php
ไม่ต้องการ Magento จะลบข้อมูลโดยอัตโนมัติโดยเรียกใช้php bin/magento setup:upgrade
ด้านล่างเป็นขั้นตอนในการถอนการติดตั้งโมดูลด้วยตนเองสำหรับ 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 => ล้างแคช
เกี่ยวกับ:
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
ขั้นตอนในการถอนการติดตั้งโมดูลผู้เรียบเรียง
ขั้นตอนในการถอนการติดตั้งโมดูลที่เพิ่มด้วยตนเองในแอพ / รหัส
ฉันคิดว่าเป็นการฉลาดที่จะปิดใช้งานโมดูลก่อน
PHP โมดูล bin / วีโอไอพี: ปิดการใช้งานmodulename
เพราะนี่เป็นการตรวจสอบการพึ่งพา ...
ถอนการติดตั้งส่วนขยายจาก magento 2:
ไปที่ไดเรกทอรีโครงการวีโอไอพีของคุณใน CLI และตรวจสอบสถานะโมดูลโดยใช้คำสั่ง
php bin/magento module:status
หากมีการเปิดใช้งานให้ปิดการใช้งานโดยใช้คำสั่ง
php bin/magento module:disable <extension name>
ไปที่ฐานข้อมูลและค้นหาตาราง 'setup_module' และค้นหาชื่อส่วนขยายของคุณแล้วลบออก
ลบโฟลเดอร์ชื่อนามสกุลของคุณออกจากโฟลเดอร์แอพ / รหัส
รันคำสั่ง setup: upgrade
คุณประสบความสำเร็จในการถอนการติดตั้งส่วนขยาย
นี่คือขั้นตอนตามคู่มือขั้นตอนในการถอนการติดตั้งโมดูลของบุคคลที่สามจาก 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
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
หวังว่าคนอื่นจะได้รับความช่วยเหลือ
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;
}
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);
}
}
หมายเหตุไม่แนะนำวิธีแก้ปัญหาบนเซิร์ฟเวอร์ที่ใช้งานจริง