Tôi có thể tìm đường dẫn gói được cài đặt qua brew ở đâu


142

Tôi đã cài đặt một số gói thông qua brew. Nhưng tôi không thể tìm thấy chúng ở đâu.

Tôi không thể truy cập bằng cách gõ hpingtrên thiết bị đầu cuối

% brew install hping
(git)-[master] 
Warning: hping-3.20051105 already installed

Bản lề của tôi được cài đặt trong/usr/local/Cellar/hping/3.20051105/sbin/hping
Mateusz Szlosek

Tôi có cùng một vấn đề với daemonize, câu trả lời này đã giúp tôi hiểu rằng daemonize được cài đặt trong /usr/local/sbinđó không có trong PATH
jakub.g

Câu trả lời:


178

Sử dụng như sau để hiển thị đường dẫn cài đặt của gói:

brew info hping

Ví dụ đầu ra:

pcre: stable 8.35 (bottled)
http://www.pcre.org/
/usr/local/Cellar/pcre/8.35 (146 files, 5.8M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/pcre.rb
==> Options
--universal
    Build a universal binary

9
Có thể chỉ có đường dẫn? Trong trường hợp của tôi, tôi muốn sử dụng clang từ llvm và sau khi "brew install llvm" clang vẫn là apple, nhưng một từ nhị phân llvm là thứ tôi cần.
okutane

1
BTW cũng brew doctorcó thể giúp bạn hiểu vấn đề.
jakub.g

3
@okutane Bạn sẽ cần phải tự lắp ráp đường dẫn. Một ví dụ thô sơ, bạn có thể làmecho "$(brew --cellar llvm)/$(brew list --versions llvm | tr ' ' '\n' | tail -1)/bin/clang"
nburr

Tùy thuộc vào nhu cầu cụ thể của bạn, brew --prefix hping(từ câu trả lời của @ capripot) có thể thực hiện thủ thuật.
waldyrious

24

/ usr / local / Cellar là vị trí mặc định trên OS X. Bạn sẽ thấy các thư mục con trong đó cho tất cả các công thức đã cài đặt của bạn ...


20

Để tìm ra nơi công thức của bạn được cài đặt, làm brew --prefix hping

Bạn cũng có thể xem lại hpingnhị phân của mình bằng cách thực hiệnbrew unlink hping && brew link hping

Cũng có thể bạn $PATHkhông được xác định rõ. Danh sách được cung cấp bởi echo $PATHcó chứa kết quả được đưa ra bởi echo $(brew --prefix)'/bin:'$(brew --prefix)'/sbin'? Đường dẫn này nên được bắt đầu từ đầu danh sách để được ưu tiên hơn các nhị phân hệ thống, chắc chắn là trước đó /usr/bin.

Để làm như vậy, bạn có thể thêm phần này vào cuối ~/.zshrchoặc ~/.bashrc:

export PATH=$(brew --prefix)/bin:$(brew --prefix)/sbin:$PATH

Do đó, sau khi mở một thiết bị đầu cuối mới hoặc thực hiện source ~/.zshrc, bạn sẽ có thể lặp lại đường dẫn chính xác của mình dưới dạng:

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin

Cảm ơn bạn, brew --prefix <command>chính xác là những gì tôi cần.
waldyrious

6

Thông thường, homebrewcài đặt các gói vào /usr/local/bin. Vì vậy, bạn cần kiểm tra xem PATH của bạn có chứa thư mục đó không, như sau:

echo $PATH

Ngoài ra, hãy thử chạy

brew doctor

để đảm bảo thiết lập của bạn là chính xác. Nếu /usr/local/binkhông có trong PATH của bạn, bạn cần chỉnh sửa ~/.profilevà thêm một dòng như thế này:

export PATH=$PATH:/usr/local/bin

Sau đó bắt đầu một Terminal mới (để đọc lại hồ sơ đăng nhập của bạn) và thử lại.

Nếu tất cả điều đó không thành công, nó phải được cài đặt ở một nơi khác. Bạn có thể tìm kiếm nó bằng cách chạy một lệnh như thế này:

sudo find / -name hping -type f

2
Đây là những liên kết tượng trưng. Các gói thực tế là /usr/local/Cellarnhư @PapaStanley chỉ ra.
Steve

@Steve tại sao sau đó khi tôi làm ls -ld /usr/local/binnó trông giống như một thư mục thông thường?
barlop

5

Hãy thử lệnh này

brew --cellar <FORMULA>

ví dụ

brew --cellar hping

Ngoài ra, brew --prefix hpingcó thể hữu ích là tốt.
waldyrious

1

hping yêu cầu quyền root để chạy.

Bạn có thể cần phải thêm / usr / local / sbin vào PATH của bạn.

Khi tôi chạy bia bác sĩ:

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so
    echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

1

Để tìm thư mục cài đặt cơ sở cho Homebrew, hãy sử dụng một trong các lệnh sau:

brew --prefix
brew --cellar

Cái sau đặc biệt trả về đường dẫn của Cellarthư mục của bạn .


0

Tôi khuyên bạn nên thêm dòng sau vào ~/.bash_profile(hoặc tệp cấu hình tương đương nếu bạn đang sử dụng trình bao khác):

export HOMEBREW_CASK_OPTS="--appdir=/Applications"

0

Tôi đã cài đặt một số gói thông qua brew. Nhưng tôi không thể tìm thấy chúng ở đâu.

Có vẻ như homebrew yêu cầu một người phải rõ ràng với mọi thứ. May mắn thay, một chút thoát bằng cách sử dụng brew --prefixcó thể làm cho điều này trở nên vô nghĩa, đối với những người cần tìm đường dẫn cho tiện ích pkg-config, ví dụ:

PKG_CONFIG_PATH=`brew --prefix hping`/lib/pkgconfig/ pkg-config --cflags hping

.


0

Nếu ai đó tìm kiếm đường dẫn thực sự của gói:

Trong trường hợp của tôi brew --cellar opencv3cho/usr/local/Cellar/opencv

Nhưng find /usr/local/Cellar/ -type d -name "*opencv*" -maxdepth 1cho

/usr/local/Cellar//opencv3(đó là /usr/local/Cellar/opencv3thực tế).

Tiêu đề:

/usr/local/Cellar/opencv3/3.4.1_1/include/

Thiên Bình:

/usr/local/Cellar/opencv3/3.4.1_1/lib/


0

Tôi có thể tìm thấy bất kỳ tùy chọn CLI trực tiếp nào brewđể có được đường dẫn đầy đủ đến phiên bản hiện tại của công thức nhưng điều này sẽ hoạt động miễn là bạn đang sử dụng bash:

echo $(brew --cellar asciidoctor)/$(brew info --json asciidoctor | jq -r '.[0].installed[0].version')
# /usr/local/Cellar/asciidoctor/1.5.8
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.