홈브류 및 케그 전용 종속성 이해


120

나는 최근에 homebrew를 사용하기 시작했고, 내 시스템에 무언가를 끓일 때 어떤 일이 발생하는지 약간 혼란 스럽지만 양조 된 종속성은 케그 전용이므로 /usr/local.

예를 들어 vips (이미지 처리 라이브러리)를 설치합니다. 많은 종속성 중 하나는 pixman입니다. Pixman은 Mac OSX (이 경우 Snow Leopard)가 이미 해당 버전 (또는 그 버전)과 함께 제공되기 때문에 통 전용으로 설치됩니다.

이것은 vips가 pixman의 시스템 버전을 사용한다는 것을 의미합니까? 그렇다면 종속성 버전이 아니라 시스템 버전 사용과 관련된 잠재적 인 버전 관리 문제가 없습니까 (다르다고 가정)?

답변:


197

소프트웨어가되기 위해서는 "통 전용"수단이 설치되어 /usr/local/Cellar있지만, 하지 같은 장소에 링크 /usr/local/bin, /usr/local/lib등 그가에있는 파일을 사용하는 특정 명령어로 컴파일되어야에 따라 달라 수단 다른 소프트웨어 /usr/local/Cellar. 이는 brew install공식이 통 전용 종속성을 지정하면 자동으로 수행됩니다 .

통 전용 종속성을 지정하는 공식은 동등한 시스템 라이브러리가 사용되지 않도록합니다. vips 설치는에서 pixman의 특정 버전과 연결되어 /usr/local/Cellar/pixman/<version>있으므로 pixman 의 시스템 버전이나 설치할 수있는 pixman의 다른 Homebrew 버전의 영향을받지 않습니다.


9
좋은 설명! otool -L /usr/local/Cellar/vips/???/lib/*.dylib링크하는 다른 라이브러리에 대해 자주 확인할 수 있습니다 .
사무엘 존

homebrew에 의해 설치된 openssl 1.0.2s가 있고 내 mac os에는 LibreSSL 2.6.5가 있습니다. 내가 할 때 openssl version항상 os (LibreSSL)에서 하나를 표시하지만 대화 형 모드에서 파이썬을 실행하면 실제로 openssl을 사용하고 있습니다. 파이썬이 올바른 openssl을 어떻게 선택했는지 이해하도록 도와 줄 수 있습니까? @echristopherson
Alex

1
@Alex Like echristopherson은 다음과 같이 말했습니다. (설치 중) 의 특정 버전연결되어openssl 있습니다. pythonBrew Formula를 살펴보십시오 . 여기에서 openssl@1.1수식 의 경로 (brew의 접두사)가로 arg사용되어 configure.
einjohn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.