Onde posso encontrar o caminho do pacote instalado via brew

142

Eu instalei alguns pacotes via brew. Mas não consigo encontrar onde estão.

Eu posso não tenha acesso, digitando hpingno terminal

% brew install hping
(git)-[master] 
Warning: hping-3.20051105 already installed
poc
fonte
Meu hping está instalado em/usr/local/Cellar/hping/3.20051105/sbin/hping
Mateusz Szlosek
Eu tive o mesmo problema com daemonize, esta resposta me ajudou a entender que daemonize está instalado em /usr/local/sbinque não estava no PATH
jakub.g

Respostas:

178

Use o seguinte para mostrar o caminho da instalação de um pacote:

brew info hping

Exemplo de saída:

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
Nyi
fonte
9
É possível obter apenas caminho? No meu caso, quero usar o clang do llvm e depois do "brew install llvm" o clang ainda é da apple, mas um dos binários do llvm é o que eu preciso.
okutane 9/09/16
1
BTW também brew doctorpode ajudá-lo a entender os problemas.
Jakub.g 28/02
3
@okutane Você precisaria montar o caminho sozinho. Como um exemplo bruto, você poderia fazerecho "$(brew --cellar llvm)/$(brew list --versions llvm | tr ' ' '\n' | tail -1)/bin/clang"
nburr
Dependendo de suas necessidades específicas, brew --prefix hping(da resposta de @ capripot) pode fazer o truque.
waldyrious
24

/ usr / local / Cellar é o local padrão no OS X. Você verá subdiretórios lá para todas as suas fórmulas instaladas ...

Papa Stanley
fonte
20

Para descobrir onde sua fórmula está instalada, faça brew --prefix hping

Você também pode vincular novamente seu hpingbinário fazendobrew unlink hping && brew link hping

Também talvez o seu $PATHnão esteja bem definido. A lista fornecida por echo $PATHcontém o resultado fornecido por echo $(brew --prefix)'/bin:'$(brew --prefix)'/sbin'? Esse caminho deve estar voltado para o início da lista a ser priorizado em relação aos binários do sistema, certamente antes /usr/bin.

Para fazer isso, você pode adicionar isso no final do seu ~/.zshrcou ~/.bashrc:

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

Como resultado, depois de abrir um novo terminal ou fazer source ~/.zshrc, você poderá ecoar o caminho correto como:

$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
Capripot
fonte
Obrigado, brew --prefix <command>era exatamente o que eu precisava.
waldyrious
6

Normalmente, homebrewinstala pacotes no /usr/local/bin. Portanto, você precisa verificar se o seu PATH contém esse diretório, assim:

echo $PATH

Além disso, tente executar

brew doctor

para garantir que sua configuração esteja correta. Se /usr/local/binnão estiver no seu PATH, você precisará editar ~/.profilee adicionar uma linha como esta:

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

Em seguida, inicie um novo terminal (para reler o seu perfil de login) e tente novamente.

Se tudo isso falhar, ele deve ser instalado em outro lugar. Você pode procurá-lo executando um comando como este:

sudo find / -name hping -type f
Mark Setchell
fonte
2
Estes são links simbólicos. Os pacotes reais estão dentro do /usr/local/Cellar@PapaStanley.
Steve Steve
@ Steve, por que é que, quando o faço ls -ld /usr/local/bin, parece um diretório regular?
barlop
5

Tente este comando

brew --cellar <FORMULA>

por exemplo

brew --cellar hping
ultraon
fonte
Como alternativa, também brew --prefix hpingpode ser útil.
waldyrious
1

hping requer privilégios de root para ser executado.

Você provavelmente precisará adicionar / usr / local / sbin ao seu PATH.

Quando eu corri o médico de fermentação:

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
jyap
fonte
1

Para encontrar o diretório de instalação base do Homebrew, use um dos seguintes comandos:

brew --prefix
brew --cellar

O último retorna especificamente o caminho da sua Cellarpasta.

Adam Erickson
fonte
0

Eu recomendo adicionar a seguinte linha ao seu ~/.bash_profile(ou o arquivo de configuração equivalente, se você estiver usando um shell diferente):

export HOMEBREW_CASK_OPTS="--appdir=/Applications"
Shoaib Ud-Din
fonte
0

Eu instalei alguns pacotes via brew. Mas não consigo encontrar onde estão.

Parece que o homebrew exige que se seja explícito com as coisas. Felizmente, um pouco de escape brew --prefixpode tornar isso um acéfalo, para aqueles que precisam encontrar o caminho para o utilitário pkg-config, por exemplo

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

(Exceto que isso não vai funcionar de qualquer maneira, porque parece que o hping não vem com o hping.pc .. embora, no caso em que os mantenedores de pacotes colocam arquivos .pc, esse truque possa ser útil.)

íbis
fonte
0

Se alguém procurando o caminho real do pacote:

No meu caso brew --cellar opencv3/usr/local/Cellar/opencv

Mas find /usr/local/Cellar/ -type d -name "*opencv*" -maxdepth 1

/usr/local/Cellar//opencv3(que é /usr/local/Cellar/opencv3realmente).

Cabeçalhos:

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

Libs:

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

Mrgloom
fonte
0

Eu poderia encontrar qualquer opção direta da CLI brewpara obter o caminho completo para a versão atualmente instalada de uma fórmula, mas isso funcionaria desde que você estivesse usando o bash:

echo $(brew --cellar asciidoctor)/$(brew info --json asciidoctor | jq -r '.[0].installed[0].version')
# /usr/local/Cellar/asciidoctor/1.5.8
ecerulm
fonte