私のMac Sierraにpeclを使用してamqp
をインストールしたいと思っていました。
私はbrewでphpをインストールしましたが、pecl install amqp
でエラーが発生しました:checking for amqp using pkg-config... configure: error: librabbitmq not found
librabbitmq-c
パッケージをbrewでインストールしましたが、それでもこのエラーが発生します。どういうわけか、pkg-configと同期されていません。
誰かがここで何をすべきか考えていますか?
まず、brewでrabbitmq-cをインストールします。
brew search librabbitmq
No formula or cask found for "librabbitmq".
Closed pull requests:
Add rabbitmq-c (aka librabbitmq) formula (https://github.com/Homebrew/legacy-homebrew/pull/13437)
brew install rabbitmq-c
次に、peqを使用してamqpをインストールします。
pecl install amqp
パスをlibrabbitmqに設定します。
Set the path to librabbitmq install prefix [autodetect] : /usr/local/Cellar/rabbitmq-c/0.9.0
Amqpがインストールされていることを確認します。
php -i|grep amqp
それは私のために働いた質問と以前の両方の答えの組み合わせです。
まず、brewからrabbitmq-cとしてRabbitMQをインストールします。次にPECLを使用しますが、要求されたときに構成パスを追加します:/usr/local/Cellar/rabbitmq-c/0.10.0
インストールされているRabbitMQのbrewバージョンで調整する必要があります。
Brewはファイルをpkg-configパスに追加しないため、次のコマンドが必要です:export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/Cellar/rabbitmq-c/0.9.0/lib/pkgconfig"
問題は、pkg-configがlibrabbitmqのlibs/cflagsを生成できないことにあります。
$ pkg-config librabbitmq --cflags
Package openssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `openssl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'openssl', required by 'librabbitmq', not found
rabbitmq-cとopensslの両方を$ PKG_CONFIG_PATHに以下のように追加しました:
export PKG_CONFIG_PATH="/usr/local/Cellar/rabbitmq-c/0.10.0/lib/pkgconfig:/usr/local/opt/[email protected]/lib/pkgconfig"
その後、ビルドは成功します。 (注:peclではなくphpbrewを使って自分でビルドしましたが、動作するはずです)。