Perintah Drush tidak ditemukan setelah Drush sepenuhnya diinstal

11

Saya menginstal Drush 8 dengan komposer.

composer require drush/drush:~8

Sayangnya, perintah drush eror tidak ditemukan setelah Drush diinstal sepenuhnya.

Mengapa perintah drush tidak bisa digunakan?

masukkan deskripsi gambar di sini

Menginstal Drush untuk Drupal 8 dengan Composer

https://www.youtube.com/watch?v=ZqY_XsCTmAc

JJ12345
sumber
Dengan asumsi php Anda 5.4.5 atau parutan, saya bertanya-tanya apakah ini "Build Gagal" ada hubungannya dengan masalah Anda.
Tidak ada Sssweat
@NoSssweat Terima kasih. Bagaimana cara menghapusnya? Apakah itu menghapus composer.json?
JJ12345
Kemudian coba instal Drush 9 master / dev.
Tidak ada Sssweat
composer global require drush/drush:dev-master
Tidak ada Sssweat

Jawaban:

19

Setelah Anda menginstal Drush, Anda perlu memastikan bahwa direktori ~ / vendor / bin Anda ada dalam $ PATH Anda, seperti yang dijelaskan dalam instruksi instalasi (Catatan: tautan ini tidak lagi berfungsi)

Tambahkan export PATH="$HOME/.composer/vendor/bin:$PATH"ke ~ / .bash_profile atau ~ / .bashrc Anda, kemudian jalankan source ~/.bash_profile(atau ~ / .bashrc).

Saya akan merekomendasikan untuk tidak menginstal Drush 9 melalui composer requiresaat ini. Tetap dengan Drush 8 mungkin yang terbaik; jika Anda ingin menggunakan Drush 9, gunakan metode instalasi yang lebih sederhana, seperti mengunduh .phar, atau mengkloning repositori dan menjalankannya composer installdi direktori dimana Drush telah dikloning.

greg_1_anderson
sumber
1
I would recommend against installing Drush 9 via composer require at this time.Terimakasih atas infonya!
Tidak ada Sssweat
1
Apa alasan untuk tidak menginstal Drush 9 via composer require?
Jimmy Ko
Drush versi yang tidak stabil memerlukan versi dependensi yang tidak stabil. Ini dapat menyebabkan beberapa komplikasi, tergantung pada apa yang Anda lakukan. Umumnya Anda menyiasatinya dengan mengatur stabilitas minimum Anda, tetapi lebih mudah untuk hanya menginstal melalui metode lain. Sebagai tambahan, jika Anda cenderung menggunakan composer global requireapa pun, silakan lihat github.com/consolidation-org/cgr
greg_1_anderson
@ JimmyKo Alasan Drush global tidak direkomendasikan adalah bahwa dengan Drush 9+, praktik terbaik merekomendasikan Drush untuk diinstal sebagai dependensi untuk Drupal. Ini mencegah masalah dengan ketidakcocokan versi Drush, misalnya.
karolus
Jika masih tidak berhasil, `~ / .bash_profile` atau ~/.bashrcmungkin sudah diedit. Cadangkan dan temukan yang default.
Chris Happy
11

Menggunakan ssh pada host server saya, saya menambahkan drush ke jalur saya dengan mengikuti petunjuk komposer: Tambah

    export PATH="$HOME/.composer/vendor/bin:$PATH"

ke ~ / .bash_profile atau ~ / .bashrc Anda, dan kemudian jalankan source ~ / .bash_profile (atau ~ / .bashrc)

Namun, saya menjalankan ini

    drush status
    -bash: drush: command not found

    which composer
    /opt/cpanel/composer/bin/composer

    which drush   
    /usr/bin/which: no drush in (/home/mth/.composer/vendor/bin:/home/mth/.composer/vendor/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/cpanel/composer/bin:/home/mth/bin:/home/mth/bin)

Menggunakan manajer file cPanel saya, saya menemukan saya tidak bisa melihat folder komposer tersembunyi, meskipun saya melihat folder dan file tersembunyi lainnya (awalan titik). Ternyata komposer berada di dalam folder .config. Saya menambahkan folder baru ke $ PATH dan bingo saya!

    export PATH="$HOME/.config/composer/vendor/bin:$PATH"   

Jam! Moral? Verifikasi lokasi komposer.

mfuller526
sumber
0

Anda perlu memastikan bahwa drushitu berada di dalam PATHvariabel lingkungan Anda , atau Anda dapat menentukan folder instalasi dengan mengatur COMPOSER_BIN_DIR, misalnya:

sudo COMPOSER_HOME=/var/lib/composer COMPOSER_BIN_DIR=/usr/local/bin COMPOSER_VENDOR_DIR=/var/lib/composer/vendor composer require drush/drush:~8

Atau lebih mudah untuk menginstalnya melalui Phar, misalnya di Linux:

sudo install <(curl http://files.drush.org/drush.phar) /usr/local/bin/drush

Pada OS X, coba: brew install drush.

kenorb
sumber
0

Sekarang, meskipun masalah saya dengan pemasangan Composer Scaffold untuk Drupal 8 yang membutuhkan Drush (dalam hal ini v.9) diinstal sebagai ketergantungan, saya juga mengalami masalah yang sama. Meskipun Drush global tidak lagi direkomendasikan, karena masalah ketergantungan, sangat nyaman untuk memanggil Drush dari mana saja.

Apa yang saya sarankan untuk menginstal adalah Drush Launcher , yang akan memberi Anda pilihan untuk memanggil Drush dari mana saja, bahkan jika Anda menjalankan proyek yang berbeda menggunakan versi Drush yang berbeda. Saya menjalankannya secara lokal dan di server Web saya, dan itu berjalan dengan baik di sana. Itu memperbaiki masalah penglihatan saya drush: command not found, bahkan ketika saya memiliki proyek di mana Composer telah menginstal Drush dengan benar.

karolus
sumber