homebrew를 사용하여 컬을 설치하려고 하면 libcurl.4.dylib에 대해 "호환되지 않는 라이브러리 버전"이 표시됩니다.

homebrew를 사용하여 컬을 설치하려고 하면 libcurl.4.dylib에 대해 "호환되지 않는 라이브러리 버전"이 표시됩니다.

저는 OSX 10.9.5를 사용하고 있습니다. OSX 번들 버전보다 높은 버전의 CURL을 사용하고 싶지만 만약을 대비해 OSX 바이너리를 제거하고 싶지 않기 때문에 홈브류를 통해 설치하는 옵션을 원합니다.

나만의 길:

$ echo $PATH
/Users/Tom/.nvm/v0.10.33/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Tom/.composer/vendor/bin:/usr/local/mysql/bin::~/Library/Trigger\ Toolkit:/usr/local/heroku/bin

보시다시피 내 노드 path 의 뒤쪽 거의 앞에 있습니다 /usr/local/bin.pathnvm

결과 $ brew install curl:

Warning: curl-7.38.0 already installed

결과 $ curl:

dyld: Library not loaded: /usr/local/lib/libcurl.4.dylib
  Referenced from: /usr/local/bin/curl
  Reason: Incompatible library version: curl requires version 8.0.0 or later, but libcurl.4.dylib provides version 7.0.0
[1]    6481 trace trap  curl

설치할 때 제가 뭘 잘못했나요? Brew에 필수 libcurl 버전이 포함되지 않는 이유는 무엇입니까?

답변1

솔루션을 제공합니다여기

아이디어는 컬의 정적 버전을 만들어 /usr/bin/ 또는 /usr/local/bin/에 붙여넣는 것입니다. 간단히:

  1. ~$ xcode-select --install
  2. 최신 버전을 다운로드하세요곱슬.
  3. 디렉토리로 cd하고 실행하십시오.

    ~$ ./configure --disable-shared --with-darwinssl --enable-threaded-resolver

    ~$ make -j `sysctl -n hw.logicalcpu_max`

  4. 컴파일된 컬(./src/curl에 있음)을 /usr/bin/에 복사합니다.

노트:3의 make 명령에서 "`" 기호는 실제로 작은따옴표가 아니라 백틱입니다.

답변2

실행 rm /usr/local/Cellar/curl하고 다시 설치해 보세요. (이렇게 하면 집에서 만든 컬이 제거됩니다.)

설치된 컬을 테스트할 때 Homebrew는 다음과 같이 말합니다.

이 소프트웨어는 이미 Mac OS X에서 사용할 수 있으므로 다른 버전을 나란히 설치하면 온갖 문제가 발생할 수 있습니다.

일반적으로 이는 귀하에게 아무런 영향을 미치지 않습니다. 자신만의 소프트웨어를 빌드하고 이 공식이 필요한 경우 빌드 변수에 추가해야 합니다.

LDFLAGS:  -L/usr/local/opt/curl/lib
CPPFLAGS: -I/usr/local/opt/curl/include

관련 정보