【问题标题】:installing amqp on mac with brew用brew在mac上安装amqp
【发布时间】:2019-01-19 23:00:34
【问题描述】:

我想为我的 mac sierra 安装带有 pecl 的 amqp

我使用 brew 安装了 php,使用 pecl install amqp 我收到错误:checking for amqp using pkg-config... configure: error: librabbitmq not found

我使用 brew 安装了 librabbitmq-c 包,但我仍然收到此错误。我认为它与 pkg-config 不同步。

有人知道在这里做什么吗?

【问题讨论】:

    标签: php macos homebrew amqp pecl


    【解决方案1】:

    感谢您的介绍,它非常有帮助。简单说明一下,在 Mac OS 12.0.1 Monterey 中,homebrew 中 rabbitmq 的默认安装路径是:

    /opt/homebrew/Cellar/rabbitmq-c/0.11.0
    

    【讨论】:

      【解决方案2】:

      这是对我有用的问题和之前的两个答案的组合。

      首先通过brew安装RabbitMQ作为rabbitmq-c。然后使用 PECL,但在询问时添加配置路径:/usr/local/Cellar/rabbitmq-c/0.10.0

      需要根据您安装的 RabbitMQ brew 版本进行调整。

      【讨论】:

      • 这对我不起作用。 pecl config-set php_ini /usr/local/etc/php/7.2/php.ini 和 brew install rabbitmq-c 和 pecl install amqp 它仍然找不到 amqp.so
      【解决方案3】:

      我使用的是 MacOS High Sierra。我从 developer.apple.com 安装了 Command_line_Tools_macOS_10.13_for_Xcode_10.1.dmg 并 brew 安装了 php 8。

      对于 amqp 扩展,我使用了:

      brew install rabbitmq-c
      pecl install amqp-1.11.0beta
      

      在提示符下

      设置 librabbitmq 安装前缀 [autodetect] 的路径:

      我输入了:

      设置 librabbitmq 安装前缀 [autodetect] 的路径:/usr/local/Cellar/rabbitmq-c/0.11.0

      【讨论】:

        【解决方案4】:

        问题在于 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-copenssl 添加到 $PKG_CONFIG_PATH 中,如下所示:

        export PKG_CONFIG_PATH="/usr/local/Cellar/rabbitmq-c/0.10.0/lib/pkgconfig:/usr/local/opt/openssl@1.1/lib/pkgconfig"
        

        那么构建就会成功。 (注意:我用 phpbrew 而不是 pecl 构建了我的,但应该可以)。

        【讨论】:

          【解决方案5】:

          先用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
          

          然后用pecl安装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
          

          【讨论】:

          • 虽然 php -i | grep amqp 没有返回任何确认 amqp 已启用的信息,但我可以使用它。
          • @dmd 也许你忘了添加 extension=amqp.so;给你 php.ini 文件 Pecl 会自动执行,但你必须指定 php.ini 的位置 设置位置: pecl config-set php_ini /usr/local/etc/php/7.xxx/php.ini 检查 php。 ini 位置文件:php --ini
          • php -m | grep amqp
          • @jose answer 在 MacOS Big Sur 上使用 PHP 7.2 为我工作。
          • 在 Big Sur 上运行良好,只是通往地窖的路径发生了变化:/opt/homebrew/Cellar/rabbitmq-c/0.11.0
          【解决方案6】:

          Brew 不会将文件添加到 pkg-config 路径,因此它需要一个命令: export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/Cellar/rabbitmq-c/0.9.0/lib/pkgconfig"

          【讨论】:

          • 虽然没有帮助:-/
          猜你喜欢
          • 2022-07-20
          • 1970-01-01
          • 2020-12-29
          • 1970-01-01
          • 1970-01-01
          • 2017-10-21
          • 2017-04-07
          • 2018-10-02
          • 2019-03-26
          相关资源
          最近更新 更多