Apakah ada cara untuk menginstal paket dan memasukkan semua --with*
opsi alih-alih mengetik semuanya secara individual di CLI?
Menghindari:
brew install ffmpeg --with-chromaprint --with-fdk-aac ...
Penafian: Saya tidak begitu terbiasa dengan grep. Solusi cerdas dipersilakan.
Anda dapat mendaftar semua opsi dengan perintah ini.
brew options target_formula
Dan Anda bisa mendapatkan semua --with-*
opsi dengan ini.
brew options target_formula | grep 'with-'
Jadi, Anda dapat menginstal rumus dengan semua --with-*
opsi dengan ini.
brew install target_formula `brew options target_formula | grep 'with-'`
Perhatikan bahwa beberapa rumus, terutama dalam ketukan tidak resmi, dapat memiliki opsi lama yang tidak diawali dengan --with-
atau --without
.
EDIT: Jika Anda ingin mengecualikan opsi tertentu, misalnya --with-zimg
, Anda dapat melakukannya dengan ini.
( grep -v 'with-zimg'
baik-baik saja, tetapi grep -v 'zimg'
lebih pendek)
brew install target_formula `brew options target_formula | grep 'with-' | grep -v 'zimg'`
brew install ffmpeg "$(brew options ffmpeg | grep 'with-')"
, yang melemparkan peringatan:Warning: ffmpeg: this formula has no --with-chromaprint
, diikuti oleh semua yang tersisa dengan- pilihan, masing-masing pada baris baru. Baris terakhir baca:--with-zimg option so it will be ignored
. ffmpeg kemudian diinstal tanpa opsi with- .zimg: macOS El Capitan or newer is required. Error: An unsatisfied requirement failed this build.
Saya kemudian mencoba sekali lagi menggunakan "$ ()" dan hasil yang sama dengan upaya instalasi pertama kali terjadi." "
. Ini akan memecah semua opsi menjadi satu opsi--with-chromaprint --with-fdk-aac ...
, yang tidak dapat dikenali dengan benar.ffmpeg
tanpa--with-zimg
. Lihat jawaban yang diedit.Tidak ada mekanisme ekspansi-wildcard untuk argumen di Homebrew, sehingga kemungkinan untuk memilih semua opsi, akan tergantung pada implementasi setiap formula.
Melihat
ffmpeg
kode formula , setiap opsi ditangani secara individual, sehingga tidak mungkin menggunakan versi saat ini.Anda harus mengubah rumus menghapus persyaratan dalam baris seperti:
Atau tambahkan switch global untuk semua argumen; atau ubah logika untuk menginstal semua secara default dan buat sakelar untuk menonaktifkan opsi.
sumber