추출을 통해 설치된 패키지 경로를 어디에서 찾을 수 있습니까


142

brew를 통해 일부 패키지를 설치했습니다. 그러나 나는 그들이 어디에 있는지 찾을 수 없습니다.

터미널 에 입력하여 액세스 할 수 없습니다hping

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

내 hping이/usr/local/Cellar/hping/3.20051105/sbin/hping
Mateusz Szlosek에 설치됨

내가 가진 동일한 문제를 겪고 daemonize, 이 대답은 나를 그 데몬으로 설치되어 이해하는 데 도움 /usr/local/sbin이가 PATH에 없었다
jakub.g

답변:


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
경로 만 얻을 수 있습니까? 제 경우에는 llvm에서 clang을 사용하고 싶고 "brew install llvm"후에 clang은 여전히 ​​애플의 것이지만 llvm 바이너리의 하나는 내가 필요한 것입니다.
okutane

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일반 디렉토리처럼 보입니까?
barlop

5

이 명령을 사용해보십시오

brew --cellar <FORMULA>

예 :

brew --cellar hping

또는 brew --prefix hping도움이 될 수도 있습니다.
waldyrious

1

hping을 실행하려면 루트 권한이 필요합니다.

PATH에 / usr / local / sbin을 추가해야 할 수도 있습니다.

양조 의사를 만났을 때 :

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를 통해 일부 패키지를 설치했습니다. 그러나 나는 그들이 어디에 있는지 찾을 수 없습니다.

홈브류는 사물을 명시 적으로 표현해야합니다. 다행스럽게도 brew --prefixpkg-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

brew현재 설치된 버전의 공식에 대한 전체 경로를 얻기 위해 직접 CLI 옵션을 찾을 수 있지만 bash를 사용하는 한 작동합니다.

echo $(brew --cellar asciidoctor)/$(brew info --json asciidoctor | jq -r '.[0].installed[0].version')
# /usr/local/Cellar/asciidoctor/1.5.8
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.