Де я можу знайти встановлений шлях пакету через пивоваріння


142

Я встановив деякі пакети за допомогою варіння. Але я не можу знайти, де вони.

Я не можу отримати доступ, набравши hpingна терміналі

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

Мій хіпінг встановлений у/usr/local/Cellar/hping/3.20051105/sbin/hping
Матеуш Шлосек

У мене була така ж проблема daemonize, і ця відповідь допомогла мені зрозуміти, що встановлення /usr/local/sbin
демонізовано

Відповіді:


178

Використовуйте наступне, щоб показати шлях установки пакета:

brew info hping

Приклад виводу:

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
Чи можливий лише шлях? У моєму випадку я хочу використовувати clang з llvm, і після "варити встановити llvm" кланг все ще є яблучним, але один з бінарних файлів llvm - це те, що мені потрібно.
окутане

1
BTW також brew doctorможе допомогти вам зрозуміти проблеми.
jakub.g

3
@okutane Вам потрібно буде зібрати шлях самостійно. Як грубий приклад, ви можете зробитиecho "$(brew --cellar llvm)/$(brew list --versions llvm | tr ' ' '\n' | tail -1)/bin/clang"
nburr

Залежно від ваших конкретних потреб brew --prefix hping(з відповіді @ capripot) ви можете зробити це.
waldyrious

24

/ usr / local / Cellar - це місце за замовчуванням в OS X. Ви побачите там підкаталоги для всіх встановлених формул ...


20

Щоб зрозуміти, де встановлена ​​ваша формула, зробіть це brew --prefix hping

Ви також можете знову пов’язати свій hpingдвійковий файлbrew unlink hping && brew link hping

Також, можливо, ваш $PATHнедостатньо визначений. Чи echo $PATHмістить наведений список результат, який дає echo $(brew --prefix)'/bin:'$(brew --prefix)'/sbin'? Цей шлях повинен бути на початку списку, який слід мати пріоритет перед системними бінарними файлами, безумовно, раніше /usr/bin.

Для цього ви можете додати це наприкінці свого ~/.zshrcабо ~/.bashrc:

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

Як результат, відкривши новий термінал або зробивши це source ~/.zshrc, ви зможете повторити свій правильний шлях:

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

Дякую, brew --prefix <command>було саме те, що мені було потрібно.
waldyrious

6

Зазвичай homebrewвстановлює пакети в /usr/local/bin. Отже, вам потрібно перевірити, чи містить ваш PATH такий каталог, як цей:

echo $PATH

Також спробуйте запустити

brew doctor

щоб переконатися в правильності налаштування. Якщо /usr/local/binнемає у вашому PATH, вам потрібно відредагувати ~/.profileта додати такий рядок:

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

Потім запустіть новий термінал (для того, щоб перечитати свій логін-профіль) та повторіть спробу.

Якщо все виходить з ладу, його потрібно встановити десь в іншому місці. Ви можете шукати його, запустивши таку команду:

sudo find / -name hping -type f

2
Це символьні посилання. Фактичні пакети розміщені, /usr/local/Cellarяк зазначає @PapaStanley.
Стів

@Steve, чому це тоді, коли я ls -ld /usr/local/binце виглядає як звичайний каталог?
барлоп


1

hping вимагає кореневих привілеїв для запуску.

Вам, ймовірно, потрібно додати / usr / local / sbin до вашої PATH.

Коли я побіг заварювати лікаря:

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

Щоб знайти базовий каталог установки для Homebrew, скористайтеся однією з таких команд:

brew --prefix
brew --cellar

Остання спеціально повертає шлях вашої Cellarпапки.


0

Я рекомендую додати наступний рядок до вашого ~/.bash_profile(або еквівалентного файлу конфігурації, якщо ви використовуєте іншу оболонку):

export HOMEBREW_CASK_OPTS="--appdir=/Applications"

0

Я встановив деякі пакети за допомогою варіння. Але я не можу знайти, де вони.

Здається, що домашня мова вимагає від явного речей. На щастя, трохи уникнути використання brew --prefixможе зробити це непродуманим, для тих, кому потрібно знайти шлях для утиліти pkg-config, наприклад

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

(За винятком того, що це все одно не буде працювати, оскільки, здається, hping не поставляється з hping.pc .. хоча, у випадку, коли обслуговуючі пакети ставлять файли .pc, цей трюк може бути корисним.)


0

Якщо хтось шукає реальний шлях пакету:

У моєму випадку brew --cellar opencv3дає/usr/local/Cellar/opencv

Але find /usr/local/Cellar/ -type d -name "*opencv*" -maxdepth 1дає

/usr/local/Cellar//opencv3(що є /usr/local/Cellar/opencv3насправді).

Заголовки:

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

Терези:

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


0

Я міг знайти будь-який варіант прямого CLI, brewщоб отримати повний шлях до встановленої в даний час версії формули, але це буде працювати, поки ви використовуєте bash:

echo $(brew --cellar asciidoctor)/$(brew info --json asciidoctor | jq -r '.[0].installed[0].version')
# /usr/local/Cellar/asciidoctor/1.5.8
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.