cara menginstal paket melalui komposer?

8

Saya ingin menambahkan perpustakaan ke modul kustom 7 drupal saya. Perpustakaan dapat diinstal melalui komposer, tetapi saya tidak dapat menemukan solusi untuk menginstal? Bagaimana saya bisa menginstal perpustakaan ini? Saya telah menginstal "komposer manajer" tetapi saya masih tidak bisa menjalankannya.

gregab
sumber
Saya ingin tahu jawaban dari pertanyaan ini juga.
itsdarrylnorris
1
Tidak setuju dengan suara dekat tentang ini. Cara menggunakan komposer dengan Drupal sudah pasti pada topik.
mpdonadio

Jawaban:

6

Untuk memulai, tambahkan composer.jsonfile ke modul Anda. Satu-satunya yang Anda butuhkan di sini adalah requirebagian yang menyertakan perpustakaan eksternal Anda.

Composer manageradalah salah satu cara untuk menggabungkan semua dependensi Anda menjadi satu, tetapi ada opsi lain untuk membuat Drupal memuat file autoload.php Anda. Teknik yang saya sukai adalah membuat composer.jsonfile tingkat proyek di root Drupal Anda, dan menggunakan module composer_vendor untuk memasukkan file autoload.php Anda.

Cara termudah untuk memulai adalah dengan menggunakan ekstensi Drush composer_generate untuk membangun composer.jsonfile tingkat proyek Anda .

$ drush dl composer_generate $ cd /path/to/drupalroot $ drush composer-generate > composer.json $ composer install

Menghasilkan komposer akan menambahkan semua proyek yang saat ini digunakan di situs Drupal Anda, ditambah composer_vendor, jadi composer installseharusnya hanya bekerja untuk Anda. Keajaiban utama di sini adalah pada autoloaders khusus yang ditambahkan ke templat; lihat output untuk melihat apa yang disertakan.

Beberapa kehati-hatian perlu digunakan di sini, tentu saja; template default akan meletakkan semua modul Anda di situs / semua / modul / contrib. Anda dapat mengedit templat sebelum menjalankan pemasangan komposer jika ini bukan yang Anda inginkan.

Anda juga harus berhati-hati jika memiliki modul yang dimodifikasi; ada beberapa cara untuk menangani konten yang diretas, tetapi itu sedikit di luar cakupan pertanyaan yang satu ini.

Memperbarui

Jika Anda tidak ingin menjalankan Drush, Anda juga dapat mengetik sendiri file composer.json Anda sendiri menggunakan proyek https://github.com/drupal-composer/drupal-project . Ini adalah templat yang menjadi dasar pembuatan komposer.

greg_1_anderson
sumber
kami tidak menggunakan drush. Ini tentang lib ini: github.com/giggsey/libphonenumber-for-php
gregab
Anda dapat menginstal Drush dan menggunakannya hanya untuk mengunduh dan menjalankan alat composer_generate. Ini akan lebih cepat daripada mengetikkan sendiri file composer.json Anda sendiri.
greg_1_anderson
@ greg_1_anderson menambahkan ke pertanyaan utama, bagaimana kita bisa memuat autoload.php vendor untuk api pihak ke-3?
Sukhjinder Singh
Drupal 8 akan memuat autoloader untuk Anda, jadi saya kira Anda bertanya tentang Drupal 7. Gunakan modul composer_vendor yang saya rekomendasikan di atas, atau cukup tambahkan sertakan ke file settings.php Anda.
greg_1_anderson