Homebrew: Cách dễ dàng để thêm 'gnubin' vào đường dẫn cho nhiều gói?


2

Tôi muốn sử dụng Homebrew để cài đặt các phiên bản GNU của một số tiện ích và sử dụng các phiên bản GNU theo mặc định với tên thông thường của chúng.

Từ đầu ra brew install gnu-tarvà bằng cách đọc Làm thế nào để thay thế các tiện ích Mac OS X bằng các tiện ích lõi GNU? Tôi đã học được rằng tôi có thể thêm /usr/local/opt/gnu-tar/libexec/gnubinvào $PATHbiến của tôi . Tuy nhiên, đối với các gói khác, gnubinthư mục nằm dưới một đường dẫn khác, như /usr/local/opt/coreutils/libexec/gnubinđối với coreutilsgói.

Tôi có phải thêm từng thứ này vào con đường của mình bằng tay không, hay Homebrew có cung cấp một cách dễ dàng để thu thập tất cả các mục trong các gnubinthư mục khác nhau vào một nơi không?

Tôi cho rằng tôi có thể đặt một số loại kịch bản tự động tìm kiếm .bash_profilenhư sau:

GNUBINS=$(find -L /usr/local/opt -type d -name gnubin | tr ' ' ':')
export PATH=$GNUBINS:$PATH

Tuy nhiên, điều này cảm thấy một chút lộn xộn và không an toàn, và tôi đã hy vọng cho một giải pháp cụ thể của Homebrew.

Câu trả lời:


1

Bạn không có homebrew/binthư mục?

Tôi đang sử dụng Boxen (bao gồm cả Homebrew) tại nơi làm việc, Homebrew được cài đặt /opt/boxen/homebrew.

Tôi có /opt/boxen/homebrew/binthư mục với các liên kết đến tất cả các tiện ích Homebrew.

coreutilslà một loạt các lệnh, không phải là một công thức đơn lẻ, vì vậy tôi nghĩ bạn vẫn cần thêm nó vào PATHnhưng bạn không cần phải làm điều này cho các phần mềm GNU khác như gnu-sed, gawkhoặc findutilsnếu bạn cài đặt chúng với --default-namestùy chọn.

Đây là một danh sách đơn giản của tôi /opt/boxen/homebrew/bin

[admin@nzx-mb-125:/opt/boxen/homebrew/bin] : ls -l | grep -i awk
lrwxr-xr-x  1 admin  staff   28 16 Dec 16:51 awk -> ../Cellar/gawk/4.1.0/bin/awk
lrwxr-xr-x  1 admin  staff   29 16 Dec 16:51 gawk -> ../Cellar/gawk/4.1.0/bin/gawk
lrwxr-xr-x  1 admin  staff   35 16 Dec 16:51 gawk-4.1.0 -> ../Cellar/gawk/4.1.0/bin/gawk-4.1.0
lrwxr-xr-x  1 admin  staff   30 16 Dec 16:51 igawk -> ../Cellar/gawk/4.1.0/bin/igawk
[admin@nzx-mb-125:/opt/boxen/homebrew/bin] : ls -l | grep -i sed
lrwxr-xr-x  1 admin  staff   31 16 Dec 16:52 sed -> ../Cellar/gnu-sed/4.2.2/bin/sed

cảm ơn về các mẹo định dạng, tôi sẽ ghi nhớ điều đó trong tương lai.
Hỏi và tìm hiểu

Tôi dường như không có homebrew/bin. Tôi đoán đó là cụ thể cho Boxen. Nếu tôi thấy rằng tôi cần liên kết nhiều nhị phân GNU, tôi sẽ xem xét thử Boxen.
amoryod
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.