OpenSSL

  • 前提: Mac
  • 操作: brew update & brew upgrade

如果你和我一样,使用 brew update && brew upgrade 升级你的software后。然后在当您在项目根目录运行 bundle exec rails console 可能会无法运行,会遇到以下的错误

curb Library not loaded: @rpath/libssl.1.0.0.dylib

仔细看看升级时的一些警告信息 Homebrew refusing to link OpenSSL其实也就是我们PATH中 OpenSSL 的的路径无法找到. 

接下来,我们看看如何重新纠正openssl的path问题.

➜  ~ cd /usr/local/opt/openssl/lib

➜  lib ls

engines               libcrypto.1.0.0.dylib libcrypto.a           libcrypto.dylib       libssl.1.0.0.dylib    libssl.a              libssl.dylib          pkgconfig

➜  lib ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/

➜  lib ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/

➜  lib ln -s /usr/local/Cellar/openssl/1.0.2q/bin/openssl /usr/local/bin/openssl

➜  lib openssl version -a

OpenSSL 1.0.2q  20 Nov 2018

built on: reproducible build, date unspecified

platform: darwin64-x86_64-cc

options:  bn(64,64) rc4(ptr,int) des(idx,cisc,16,int) idea(int) blowfish(idx)

compiler: clang -I. -I.. -I../include  -fPIC -fno-common -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM

OPENSSLDIR: "/usr/local/etc/openssl"

好了,一切恢复正常。

我希望这些对您有所帮助。 如果您还有问题,请留言。