brew経由でインストールされたパッケージパスはどこにありますか


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 14

私は同じ問題を抱えていた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はまだAppleのものですが、llvmバイナリの1つが必要です。
奥種16

1
BTW brew doctorは、問題を理解するのにも役立ちます。
jakub.g

3
@okutane自分でパスを組み立てる必要があります。echo "$(brew --cellar llvm)/$(brew list --versions llvm | tr ' ' '\n' | tail -1)/bin/clang"
おおまか

特定のニーズに応じてbrew --prefix hping(@capripotの答えから)トリックを行うことができます。
ウォルディリアス

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>まさに私が必要としていたものでした。
17:57の

6

通常、homebrewパッケージをにインストールします/usr/local/bin。そのため、次のように、PATHにそのディレクトリが含まれていることを確認する必要があります。

echo $PATH

また、実行してみてください

brew doctor

セットアップが正しいことを確認します。/usr/local/binPATHにない場合、次の~/.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


1

hpingを実行するには、root権限が必要です。

おそらく/ 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経由でいくつかのパッケージをインストールしました。しかし、私は彼らがどこにいるかを見つけることができません。

自作では物事を明確にする必要があるようです。幸いなことに、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/

Libs:

/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.