在搜索这个错误的第一行后发现了这个问题:
dyld: Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib
Referenced from: /opt/local/lib/libgssapi_krb5.2.2.dylib
Reason: image not found
Abort trap: 6
我看到的不是使用vapor,而是升级某些软件包后使用ssh 和scp 和git 的结果。
我认为像@Smokie 和其他人建议的那样使用openssl 降级大多数软件包是不明智的(尤其是与安全相关的软件包)。
所以我概括了@MichalCichon 发布的关于用install_name_tool 解决问题的答案,这似乎已经解决了我的问题(至少现在是ssh 和scp;我想我会如果问题再次出现在另一个可执行文件中,则可以使用此解决方案的变体)。
因为缺少的是不存在的/opt/local/lib/libcrypto.1.0.0.dylib 库,并且因为我在升级后有一个/opt/local/lib/libcrypto.1.1.dylib,并且因为ssh 和scp 正在引用/opt/local/lib/libgssapi_krb5.2.2.dylib 以试图找到@987654335 @,我只是这样使用install_name_tool:
$ sudo install_name_tool -change /opt/local/lib/libcrypto.1.0.0.dylib\
/opt/local/lib/libcrypto.1.1.dylib\
/opt/local/lib/libgssapi_krb5.2.2.dylib
然后尝试再次运行ssh。它再次失败,但这次出现了不同的错误:
dyld: Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib
Referenced from: /opt/local/lib/libkrb5.3.3.dylib
Reason: image not found
Abort trap: 6
然后我做了:
$ sudo install_name_tool -change /opt/local/lib/libcrypto.1.0.0.dylib\
/opt/local/lib/libcrypto.1.1.dylib\
/opt/local/lib/libkrb5.3.3.dylib
并再次尝试ssh。它再次失败,但出现了另一个不同的错误:
dyld: Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib
Referenced from: /opt/local/lib/libk5crypto.3.1.dylib
Reason: image not found
Abort trap: 6
然后我做了:
$ sudo install_name_tool -change /opt/local/lib/libcrypto.1.0.0.dylib\
/opt/local/lib/libcrypto.1.1.dylib\
/opt/local/lib/libk5crypto.3.1.dylib
并再次尝试ssh。它再次失败,但出现了另一个不同的错误:
dyld: Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib
Referenced from: /opt/local/lib/libkrb5support.1.1.dylib
Reason: image not found
Abort trap: 6
然后我做了:
$ sudo install_name_tool -change /opt/local/lib/libcrypto.1.0.0.dylib\
/opt/local/lib/libcrypto.1.1.dylib\
/opt/local/lib/libkrb5support.1.1.dylib
并再次尝试ssh。最后,ssh 和 scp 和 git 按预期恢复工作。
感谢@MichalCichon 提供了一个很好的答案,我能够将其推广到vapor 之外,以允许自己继续使用ssh 而无需降级我的openssl!