Beberapa waktu yang lalu, saya menginstal Magento 2 melalui paket meta komposer . Ini juga dikenal sebagai instal integrator.
Ini tampaknya telah menginstal Magento CE 2.0.1. Apakah ada cara untuk meningkatkan versi ini ke Magento CE 2.0.3 terbaru? Saya sadar saya bisa memperbarui composer.json
sehingga 2.0.1 di sini
"require": {
"magento/product-community-edition": "2.0.1",
menjadi
"require": {
"magento/product-community-edition": "2.0.3",
Namun, itu akan melewatkan file seperti
app/etc/NonComposerComponentRegistration.php
Serta setiap pembaruan untuk file composer.json itu sendiri.
Apakah mungkin untuk memperbarui versi Magento 2 yang diinstal dengan paket meta? Atau bukankah ini maksud dari paket meta?
repo.magento.com
diblokir. Tunggu pengumuman. Langkah 1, jalankancomposer require <string> <version> --noupdate
(periksa sintaks). Langkah 2, jalankancomposer update
. Langkah 3, jalankanbin/magento setup:upgrade
vendor
?Jawaban:
Saya hanya menyesuaikan
composer.json
file saya untuk menggunakan 2.0.4 daripada 2.0.2 (dengan tangan), dan kemudian berlaricomposer update
danphp bin/magento setup:upgrade
. Bekerja tanpa cacat di sini.Saya percaya paket pemasang Magento Composer menangani instalasi file di
app/
folder dll., Yang juga memperbarui hal-hal saat upgrade. Tapi, bagian terakhir ini hanya asumsi karena saya tidak perlu men-debug itu.sumber
app/etc/NonComposerComponentRegistration.php
dan mengonfirmasi tahun hak ciptaSaat ini saya tidak dapat mengujinya, karena repositori komposer connect rusak, tapi saya harap itu masih berguna.
Itu
composer.json
proyek saya sendiri https://github.com/Cotya/DashboardProject/blob/6ce3f307c53a3fb54c94d8a7bd70b306036da928/composer.jsonSaya berubah baru-baru ini untuk
"magento/product-community-edition": "^2.0"
benar-benar dapat memperbarui dengancomposer update --with-dependencies magento/product-community-edition
perintah sederhana . Saya selalu secara eksplisit menyebutkan apa yang harus diperbarui, untuk tidak mencampurnya dengan paket lain yang saya butuhkan selain magento, tetapi karena itu saya perlu--with-dependencies
argumen.Bagian yang sangat penting dari alur kerja ini adalah mengkomit
composer.lock
file setelah setiap pembaruan (berhasil diuji). Seperti yang Anda lihat, perbedaan file kunci terlalu besar untuk GitHub, itu adalah hasil dari semua pembaruan ketergantungan dan alasannya, mengapa Anda tidak perlu mencampuradukkan pembaruan magento dengan pembaruan dari sesuatu yang lain.Seperti yang Anda lihat, saya telah menentukan file untuk
NonComposerComponentRegistration
diri saya sendiri, Anda dapat memiliki beberapa di antaranya. Kelemahan dari pendekatan saya adalah, bahwa ketika perubahan dalam proyekcomposer.json
terjadi, Anda harus menerapkannya secara manual.Ketika Anda bertanya tentang pembaruan
NonComposerComponentRegistration
file, masih ada beberapa file, yang dapat disalin dari vendor ke direktori target, itu sebabnya saya menamainya secara eksplisitbuild
untuk tidak mencampur sendiri dengan hal-hal yang dihasilkan / disalin.Semoga itu bisa membantu, meskipun ini pengaturan M2 yang cukup unik.
sumber