首页 > 解决方案 > 运行作曲家时如何修复“dyld:未加载库”错误?

问题描述

我在 bitnami MAMP 堆栈上。我使用 MAMP 附带的 php 作为我的默认 PHP 安装。

我已经使用 php 脚本安装了 composer:

https://getcomposer.org/download/

现在,每当我在 bash 终端中键入 composer 时,我都会收到以下错误:

dyld: Library not loaded: /bitnami/mampstackDev-osx-x64/output/common/lib/libcrypto.1.0.0.dylib
  Referenced from: /Applications/mampstack-7.1.15-0/php/bin/php.bin
  Reason: image not found

加载 libcryptolib 似乎有些问题。

[更新 2019 年 3 月 12 日] 我想补充的一条评论是,从我将默认 PHP 安装从 /usr/bin/php 更改为 Mampstack PHP 时,这个问题就发生了。一旦我恢复了默认的 php 安装,它就开始工作了

标签: phpcomposer-phpbitnami

解决方案


发生这种情况的原因是因为 Bitnami MAMP 安装程序和use_mampstack启动脚本都没有设置正确的库路径,即使它们被捆绑并在./common/lib目录中提供(例如,相对于 MAMP 的安装路径/Applications/mampstack-7.2.29-2/)。

要解决此问题,只需创建指向libcryptolibssl的符号链接,如下所示:

ln -s /Applications/mampstack-7.2.29-2/common/lib/libcrypto.1.1.dylib /usr/local/lib
ln -s /Applications/mampstack-7.2.29-2/common/lib/libssl.1.1.dylib /usr/local/lib

当然,将库和 MAMP 堆栈版本名称调整为您在系统上安装的名称。


推荐阅读