Saya mencoba untuk menghapus modul (milik saya) yang telah saya instal melalui komposer menggunakan CLI dengan perintah ini:
bin/magento module:uninstall -r [Namespace]_[Module]
Berdasarkan jawaban yang diberikan di sini oleh @RyanH saya telah membuat Setup/Uninstall.php
file yang menghapus data terkait database dari modul.
Ini berfungsi dengan baik tetapi prosedur uninstall terhenti.
Saya bahkan membiarkan skrip berjalan pada malam hari dan hasilnya masih sama.
File ekstensi masih ada di vendor
modul.
Saya tidak menyentuh izin atau pemilik file.
Apa yang benar:
- data terkait basis data dihapus
- nama modul dihapus dari tabel
setup_module
- nama modul dihapus dari
app/etc/config.php
.
Apa yang salah:
- file modul masih ada di
vendor
folder. - perintah konsol tidak selesai.
Output konsol:
Anda akan menghapus kode dan / atau tabel basis data. Anda yakin? [Y / T] y
Mengaktifkan mode pemeliharaan
Anda menghapus data tanpa cadangan basis data.
Menghapus data [Namespace] _ [Modul]
Menghapus [Namespace] _ [Module] dari registry modul di database
Menghapus [Namespace] _ [Module] dari daftar modul dalam konfigurasi penggunaan
Menghapus kode dari kode Magento:
Setelah ini hanya hang.
Apakah ada cara untuk menyelesaikan proses penghapusan instalasi, atau setidaknya men-debug-nya?
Jawaban:
Bagian dari proses uninstall jika ditemukan dapat ditemukan di bawah
setup/src/Magento/Setup/Model/ModuleUninstaller.php
:Pada dasarnya ia mencantumkan paket untuk dihapus dan kemudian menjalankan
composer remove
perintah pada paket tersebut melaluilib/internal/Magento/Framework/Composer/Remove.php
:Anda dapat menemukan
runComposerCommand
metode ini divendor/magento/composer/src/MagentoComposerApplication.php
:Bagi saya sesuatu terjadi di sepanjang jalan di sini dan fungsi-fungsi itu adalah tempat Anda harus mulai debugging.
Mungkin
composer.json
file modul Anda hilang atau memiliki kesalahan.sumber
ketika kita menjalankan modul bin / magento: uninstall Module_Name maka jalankan perintah pembaruan komposer juga dalam proses kembali yang tidak ditampilkan di cli.
Ketika kami menjalankan pembaruan komposer maka diperlukan nama pengguna dan kata sandi untuk akun pasar magento Anda. jika belum maka buat:
Untuk membuat kunci otentikasi:
Masuk ke Magento Marketplace . Jika Anda tidak memiliki akun, klik Daftar.
Klik nama akun Anda di kanan atas halaman dan pilih Profil Saya.
Klik Kunci Akses di tab Marketplace.
Jalankan perintah ini dari direktori root magento
ln -s ~/.composer/auth.json var/composer_home/
Anda dan itu akan membuat tautan simbolis auth.json komposer AndaKetika kita menjalankan module: uninstall lalu periksa auth.json di folder magento var atau direktori root magento.
Ini bekerja untuk saya.
sumber
Komposer berhenti memuat data dari repo.magento.com
Auth.json saya salah. Keputusan ini membantu saya
Cara menggunakan repo.magento.com baru
sumber