在搜索这个错误的第一行后,我发现了这个问题:
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和其他人建议的那样降级大多数包是不明智的(特别是与安全相关的包)。
所以我概括了@ michalchicon发布的关于用install_name_tool解决问题的答案,这似乎已经解决了我的问题(至少现在用ssh和scp;我认为如果问题再次出现在另一个可执行文件中,我将能够使用这个解决方案的变体)。
因为它是不存在的/opt/local/lib/libcrypt .1.0.0。因为我有一个/opt/local/lib/libcrypt .1.1。由于SSH和SCP正在引用/opt/local/lib/libgssapi_krb5.2.2。Dylib试图找到/opt/local/lib/libcrypt .1.0.0。dylib,我只是像这样使用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恢复正常工作。
感谢@ michalchicon的精彩回答,让我能够在不降级openssl的情况下继续使用ssh !