gcc, g++, cpp, make, libpng devel, zlib devel, git, Java
BASH 스크립트에서는 및 (개발 파일 포함)이 Mac OS X에서 사용 ant
가능한지 확인해야 하고 pkg-config
, 그렇지 않은 경우 사용자에게 해당 파일을 설치하라는 메시지를 표시해야 합니다.
Linux에는 패키지 관리 도구가 있으므로 이는 쉬운 작업이지만 Mac OS X 셸에서는 이 작업을 수행하는 방법을 모르겠습니다. 예를 들어, openSUSE에서는 Debian 기반 배포판 rpm -q
및 . 그런데 Mac에서는 어떻게 해야 할까요?zypper in
dpkg-query
apt-get install
답변1
Apple의 패키지 관리 시스템은 종종 비판을 받습니다. 이 유틸리티는 pkgutil
패키지 영수증을 나열하고 쿼리하는 데 사용할 수 있습니다.
Apple 설치 프로그램을 사용하여 설치된 모든 패키지 나열
pkgutil --pkgs
패키지 ID에 대한 정규식
pkgutil --pkgs=.\+Xcode.\+
패키지 ID의 모든 파일 나열
pkgutil --only-files --files com.apple.pkg.update.devtools.3.2.6.XcodeUpdate
lsbom
그런 다음 /var/db/receipts에 있는 bom 파일을 다시 사용하고 읽을 수 있습니다 .
사용자는 MacPorts, fink 또는 Homebrew와 같은 다른 패키지 관리 시스템도 설치합니다. 또는 접두사를 사용하여 직접 컴파일하세요. pkgutil
이러한 방법을 통해 설치된 패키지는 나열되지 않습니다.
대상 운영 체제가 OS X10.9 또는 OS X 10.10인 경우
gcc --version
이 명령은 gcc 버전을 출력하거나 XCode 명령줄 도구를 설치하라는 메시지가 표시됩니다. gcc, g++, cpp, make, and git
다른 도구와 함께 설치됩니다. Java 패키지는 Oracle에서 제공됩니다. 테스트할 수 있지만 java --version
헤더 파일을 검색하려면 Apple의 프레임워크, 플러그인 및 번들에 익숙해야 합니다. pkgutil
이 과정에 적합한 후보가 될 것입니다.
언급한 다른 패키지는 쉘 스크립트로 컴파일되거나 컴파일되어 Apple 설치 프로그램 패키지에 넣은 다음 쉘 스크립트를 통해 설치할 수 있습니다. 쉬운 방법은 없습니다.
답변2
패키지에 찾을 수 있는 바이너리가 있는 경우 다음을 수행할 수 있습니다.
package_name=<packge-name>
t=`which $package_name`
[ -z "$t" ] && echo "the $package_name isn't installed!"
답변3
내 마음에 가장 먼저 떠오르는 것은 다음과 같습니다 system_profiler
.
system_profiler SPSoftwareDataType
위 명령의 출력은 다음과 유사합니다. yum info
이 유틸리티에는 다른 많은 옵션이 있습니다. man system_profiler
당신을 올바른 길로 인도해야합니다. 이것블로그 항목더 많은 정보를 제공해드리겠습니다.