Apa praktik terbaik untuk memasang ekstensi pihak ketiga di Magento 2?

16

Saat bekerja pada proyek klien untuk Magento 2 - Saya telah menemukan banyak metode memuat dan melacak ekstensi pihak ketiga.

Dengan asumsi bahwa kami menggunakan metode pemasangan integrator (komposer!), Apa praktik terbaik untuk mengelola ekstensi pihak ketiga?

Sejauh ini, setiap ekstensi yang saya beli atau unduh memiliki file composer.json sendiri - dan saya tahu setidaknya tiga cara berbeda yang akan direkomendasikan oleh penulis ekstensi untuk memasang ekstensi mereka:

  1. Salin file ini ke aplikasi / kode
  2. Salin zip ini ke folder, tambahkan itu adalah repositori artefak, dan memerlukannya
  3. Tambahkan repositori online ini (dengan / tanpa auth) dan memerlukannya

Sejauh ini, saya telah menemukan 1 & 2 dan saya hanya mencurigai ada # 3. Tetapi kemudian, memperhatikan bahwa yang menyarankan # 1 saya menemukan bahwa Anda dapat memiliki repositori "path" - memindahkan ekstensi saya dari aplikasi / kode ke folder yang sama, saya memutuskan untuk meletakkan artefak ini, dan mengharuskannya demikian.

Dalam proses ini, konfigurasi repositori saya terlihat seperti:

"repositories": {
    "0": {
        "type": "composer",
        "url": "https://repo.magento.com/"
    },
    "artifacts": {
        "type": "artifact",
        "url": "artifacts"
    },
    "third-party": {
        "type": "path",
        "url": "artifacts/*/*"
    },
},

Jadi pertanyaan saya kepada Anda adalah - apa praktik terbaik di sini? Bagaimana Anda mengelola ekstensi pihak ketiga?

Sejauh ini saya percaya cara saya melakukannya adalah cara terbaik - jika hanya karena komposer mereka. Johnny membaca dan konflik ketergantungan (atau batasan versi PHP) akan menjadi jelas - tetapi saya tidak berpikir itu cukup definitif.

Navarr
sumber

Jawaban:

8
  • Memasang modul melalui komposer adalah cara terbaik untuk Magento 2. Karena ada banyak keuntungan jika kita memasang modul melalui komposer.

  • Jika Anda ingin memutakhirkan modul, Anda hanya perlu mengubah versi dalam composer.jsonfile dan menjalankan composer updateperintah di rootMagentoento.

  • Saat dalam instalasi manual Anda harus mengunduh modul terlebih dahulu dan mengganti file lama dan menjalankan setup:upgradeperintah untuk meningkatkan modul.

  • Semua modul yang dipasang melalui komposer diunduh di folder vendor.

  • Magento menggunakan https://repo.magento.com/ URL default untuk mengunduh modul Jika Anda membeli modul dari Magento Marketplace.

  • Jika Anda membeli modul dari situs web pihak ketiga. Anda perlu menambahkan repositori di composer.json untuk mengunduh dan memasang modul.

Sebagai contoh

"repositories": {
    "0": {
        "type": "composer",
        "url": "https://repo.magento.com/" //Default Magento Repositry
    },
    "thirdparty-module": {
        "type": "composer",
        "url": "https://mymodule.thirdparty.com/" //Third Party Repositary
    }
},

Menurut pendapat saya komposer adalah cara terbaik dan tepat untuk menginstal modul di Magento 2.

Instal Modul Pihak Ketiga Via komposer:

  1. Jalankan perintah ini untuk menambahkan repositori baru di conposer.json

confos config repositories.thirdparty-module git https://thirdparty-composer-url.com

  1. Sekarang jalankan perintah ini untuk menambahkan komponen dan versi modul di composer.json

komposer memerlukan [nama-komponen]: [versi]

Forex.  composer require prince/helloword:1.0.0
  1. Sekarang jalankan pembaruan komposer untuk mengunduh modul dari repositori.

pembaruan komposer

  1. Sekarang jalankan setup:upgrade untuk menginstal dan mendaftar modul masukconfig.php

setup php bin / magento: tingkatkan

Pangeran Patel
sumber
1

Anehnya semua jawaban kehilangan titik bahwa Anda telah mengidentifikasi artefak sebagai satu kemungkinan:

https://getcomposer.org/doc/05-repositories.md#artifact

Pemasok modul mungkin tidak memiliki repo yang dapat Anda gunakan sehingga artefak adalah jawabannya. Mayoritas (yang saya jumpai) akan memberikan Anda paket zip untuk file-file tersebut sehingga menggunakannya dengan komposer via artefak IMHO adalah cara yang paling mudah.

Tentu saja Anda dapat menampilkan repo Anda sendiri untuk file modul pihak ke-3 tetapi secara pribadi saya tidak melihat gunanya melakukan langkah ekstra pada mereka.

Berpikir perlu disebutkan jika Anda menambahkannya ke folder aplikasi dan melakukan file, atau dengan repo Anda sendiri, Anda dapat dengan mudah melihat file apa yang telah berubah antara versi ekstensi pihak ke-3.

Bagaimanapun saya menemukan artikel ini tentang menggunakan arficats https://magently.com/blog/magento-2-the-right-way-to-install-external-modules/ sehingga orang lain juga menggunakan aliran itu.

Olli Tyynelä
sumber
-1

Ada dua cara untuk melakukannya, Silakan temukan di bawah ini.

(1) Instalasi Otomatis menggunakan komposer

Beli produk unduhan dari marketplace dan periksa nama komponen dari informasi produk yang diunduh dan gunakan contoh kode di bawah ini untuk memperbarui file composer.json di root aplikasi.

Catatan: Jangan lupa untuk memasukkan file composer.lock untuk disertakan dalam komit git Anda.

Referensi Resmi: http://devdocs.magento.com/guides/v2.0/cloud/howtos/install-components.html

(2) Instalasi Manual

Unduh file zip komponen dari unduhan Anda dan unzip di lokasi sementara dan periksa file registrasi.php, di sana Anda akan melihat nama vendor komponen dan nama komponen. Buat struktur direktori serupa di dalamnya.

app/code/VendorName/ComponentName

Ekstrak file zip Anda di dalam struktur direktori di atas dan jalankan perintah di bawah ini dari direktori root aplikasi Anda untuk mengaktifkan modul.

php bin/magento module:enable VendorName_ComponentName
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush
php -R 777 var/

Periksa modul diaktifkan menggunakan perintah di bawah ini. Ini akan menampilkan semua daftar modul yang diaktifkan dan dinonaktifkan.

php bin/magento module:status

Semoga ini membantu!

Kapil Yadav
sumber
Saya belum menemukan jawaban yang benar., Meskipun semakin bingung tentang ini.
Kapil Yadav
-2

Saya telah menginstal ekstensi untuk Magento2 dengan menempatkan ekstensi di bawah app / kode dan situs web telah bekerja dengan baik untuk saya, jadi menginstalnya dengan menempatkan ekstensi di bawah app / kode adalah salah satu cara untuk menginstal ekstensi!

Ledian Hymetllari
sumber
-2

Praktik terbaik untuk mengelola ekstensi pihak ketiga adalah dengan Mengunduh file zip dan mengimpor zip di dalam folder aplikasi / kode dan unzip.

Setelah itu gunakan perintah berikut

  1. modul php bin / magento: aktifkan _
  2. setup php bin / magento: tingkatkan
  3. setup php bin / magento: di: compile
Rishabh Rk Rai
sumber
Diperingatkan: Ini BUKAN praktik terbaik. Menginstal modul via app/codetidak disarankan daripada menggunakan composer. Gunakan composersebagai gantinya.
Jisse Reitsma