Menginstal paket Homebrew tanpa menautkan

16

Saya ingin menginstal beberapa versi Ruby (atau benar-benar paket Homebrew apa pun) tanpa menautkannya. Pada dasarnya, saya ingin memperlakukan formula apa pun hanya sebagai tong.

Sepertinya saya tidak dapat menemukan cara untuk melakukan ini, meskipun tampaknya sepele. Saya pikir akan ada sesuatu seperti brew install --no-link <formula>.

Apakah ada cara untuk melakukan apa yang saya inginkan, atau beberapa alasan mengapa ini adalah ide yang buruk?

Saya benar-benar ingin menggunakan Homebrew untuk menginstal versi Ruby, dan rbenv untuk mengelolanya.

juga
sumber
Ya, ini akan sangat berguna, saya juga tidak dapat menemukan jawaban di mana pun.
Aron Ahmadia
Saya pikir kurangnya fitur ini merupakan gejala dari dukungan Homebrew yang buruk untuk versi. Anda selalu mendapatkan yang terbaru, dan satu-satunya cara untuk mendapatkan versi yang lebih lama adalah dengan berharap seseorang telah menyalinnya ke versi keg, atau pergi berburu di sekitar sejarah git. Ada terlalu banyak hal yang seharusnya menjadi argumen baris perintah sederhana tetapi hanya bisa dilakukan dengan brew edit.
Mark Reed

Jawaban:

10

Yang harus Anda lakukan adalah mengedit rumus default dan menyesuaikannya untuk tujuan Anda, yang hanya menjadi tong. Sebenarnya sangat mudah untuk membuat versi formula Anda sendiri yang disesuaikan, dan begitu Anda mengedit formula, Homebrew menyimpan versi hasil personalisasi Anda untuk penggunaan di masa mendatang.

Jadi, cukup edit file formula (untuk versi ketuk spesifik yang ingin Anda instal) dan tambahkan keg_only "My reason for making this keg-only"dalam kelas formula, misalnya pada baris baru langsung setelah descperintah.

Jika Anda belum pernah mengedit formula sebelumnya, bacalah beberapa baris ini dari FAQ Homebrew untuk mempelajari cara melakukannya:

Bisakah saya mengedit rumus sendiri?

Iya! Mudah! Adil brew edit $FORMULA. Anda tidak harus mengirimkan modifikasi kembali ke Homebrew / homebrew , cukup edit formula yang Anda inginkan dan brew install. Sebagai bonus brew updateakan menggabungkan perubahan Anda dengan upstream sehingga Anda tetap dapat memperbarui formula dengan modifikasi pribadi Anda!

retrography
sumber
0

Anda dapat menjalankan brew install <formula>lalu brew unlink <formula>, yang menghapus semua tautan.

jaimeMF
sumber
Benar, tetapi itu masih menautkan Ruby, yang akan gagal jika ada versi yang sudah ditautkan. Saya ingin menginstal tanpa pernah menghubungkan.
juga
0

Saya tidak yakin tentang Ruby, tetapi untuk melakukan ini pada banyak perangkat lunak, Anda mungkin ingin mengunduh sumber dan menyesuaikan file make, atau menggunakan flag untuk skrip konfigurasi autoconf untuk menentukan direktori instal yang Anda inginkan, dan kemudian Anda dapat menjalankannya dari sana.

(From configure --help output)
Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]
ilustrasi numerik
sumber