OS X ก็จัดว่าเป็นยูนิกซ์ประเภทหนึ่ง ทำให้โปรแกรมที่รันบนลีนุกซ์ได้ ก็น่าจะนำมารันบนเครื่อง Mac ได้ เพียงแต่ความยุ่งยาก ก็คือต้องดาวน์โหลดแพ็กเกจที่มีคนสร้างไว้สำหรับรันบน Mac ซึ่งส่วนใหญ่จะอยู่ในรูปแบบไฟล์ .pkg
เพื่อความง่ายต่อการจัดการโปรแกรมหรือแพ็กเกจเพิ่มเติมบน Mac แนะนำให้ลองใช้ Homebrew หรือ brew เพื่อใช้ในการจัดการแพ็กเกจ (Package Manager) ซึ่ง brew สามารถค้นหา (search) ติดตั้งโปรแกรมที่ต้องการ (install) ติดตั้งโปรแกรมที่ต้องจำเป็นใช้ (dependencies) ปรับปรุงเวอร์ชัน (upgrade) ถอนการติดตั้ง (uninstall) ได้
ลองมาดูวิธีการติดตั้งและใช้งาน homebrew หรือ brew บน OS X กัน
ถ้าเปรียบเทียบ brew บน Mac ก็ทำหน้าที่คล้ายกับ yum บน CentOS/RedHat หรือ apt-get บน Ubuntu
ความต้องการของระบบ
ก่อนจะติดตั้ง Homebrew ได้ เครื่อง Mac ของคุณต้องติดตั้ง Command Line Tools for Xcode หรือ Xcode ก่อน
ติดตั้ง homebrew
วิธีการติดตั้ง homebrew ก็แค่พิมพ์คำสั่งด้านล่างลงไปในโปรแกรม Terminal
MacOS:~ alice$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ==> This script will install: /usr/local/bin/brew /usr/local/Library/... /usr/local/share/man/man1/brew.1 ==> The following directories will be made group writable: /usr/local/. ==> The following directories will have their owner set to alice: /usr/local/. ==> The following directories will have their group set to admin: /usr/local/. Press RETURN to continue or any other key to abort ==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/. Password: ==> /usr/bin/sudo /usr/sbin/chown alice /usr/local/. ==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/. ==> /usr/bin/sudo /bin/mkdir /Library/Caches/Homebrew ==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew ==> /usr/bin/sudo /usr/sbin/chown alice /Library/Caches/Homebrew ==> Downloading and installing Homebrew... remote: Counting objects: 3797, done. remote: Compressing objects: 100% (3637/3637), done. remote: Total 3797 (delta 42), reused 511 (delta 24), pack-reused 0 Receiving objects: 100% (3797/3797), 3.24 MiB | 265.00 KiB/s, done. Resolving deltas: 100% (42/42), done. From https://github.com/Homebrew/homebrew * [new branch] master -> origin/master HEAD is now at 083ae3c fondu: update 060102 bottle. ==> Installation successful! ==> Next steps Run `brew help` to get started
คำสั่งของ homebrew คือ brew
ลองพิมพ์ brew help เพื่อดูออปชันในการใช้งาน
MacOS:~ alice$ brew help Example usage: brew [info | home | options ] [FORMULA...] brew install FORMULA... brew uninstall FORMULA... brew search [foo] brew list [FORMULA...] brew update brew upgrade [FORMULA...] brew pin/unpin [FORMULA...] Troubleshooting: brew doctor brew install -vd FORMULA brew [--env | config] Brewing: brew create [URL [--no-fetch]] brew edit [FORMULA...] https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Formula-Cookbook.md Further help: man brew brew home
Homebrew จะติดตั้งโปรแกรมและไฟล์ที่เกี่ยวข้องไว้ใน /usr/local/
MacOS:~ alice$ which brew /usr/local/bin/brew
ตัวอย่างไฟล์ที่ได้จากการติดตั้ง brew
MacOS:~ alice$ ls -l /usr/local/ total 80 -rw-r--r-- 1 alice admin 3161 Oct 25 11:17 CODEOFCONDUCT.md -rw-r--r-- 1 alice admin 1103 Oct 25 11:17 CONTRIBUTING.md -rw-r--r-- 1 alice admin 1241 Oct 25 11:17 LICENSE.txt drwxr-xr-x 9 alice admin 306 Oct 25 11:17 Library -rw-r--r-- 1 alice admin 2247 Oct 25 11:17 README.md -rw-r--r-- 1 alice admin 23867 Oct 25 11:17 SUPPORTERS.md drwxr-xr-x 3 alice admin 102 Oct 25 11:17 bin drwxr-xr-x 4 alice admin 136 Oct 25 11:17 share MacOS:~ alice$ ls -l /usr/local/bin/ total 8 -rwxr-xr-x 1 alice admin 791 Oct 25 11:17 brew
ติดตั้งแพ็กเกจด้วย brew (install)
การใช้งาน brew เหมือนกับโปรแกรมจัดการแพ็กเกจอื่นๆ เช่น ถ้าต้องการติดตั้งโปรแกรม ก็พิมพ์ brew ระบุออปชัน install ตามด้วยชื่อโปรแกรมที่ต้องการติดตั้ง
ตัวอย่างการใช้ brew ติดตั้ง wget
MacOS:~ alice$ brew install wget ==> Installing dependencies for wget: openssl ==> Installing wget dependency: openssl ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2d_1.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring openssl-1.0.2d_1.el_capitan.bottle.tar.gz ==> Caveats A CA file has been bootstrapped using certificates from the system keychain. To add additional certificates, place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash This formula is keg-only, which means it was not symlinked into /usr/local. Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add to your build variables: LDFLAGS: -L/usr/local/opt/openssl/lib CPPFLAGS: -I/usr/local/opt/openssl/include ==> Summary 🍺 /usr/local/Cellar/openssl/1.0.2d_1: 464 files, 17M ==> Installing wget ==> Downloading https://homebrew.bintray.com/bottles/wget-1.16.3.el_capitan.bottle.tar.gz ######################################################################## 100.0% ==> Pouring wget-1.16.3.el_capitan.bottle.tar.gz 🍺 /usr/local/Cellar/wget/1.16.3: 9 files, 1.5M
brew จะจัดการดาวน์โหลด ติดตั้งแพ็กเกจหรือโปรแกรมที่ต้องการ รวมทั้งแพ็กเกจที่จำเป็นต้องใช้ (dependencies) โดยอัตโนมัติ
จากตัวอย่างด้านบน brew จะทำการติดตั้ง openssl ก่อนที่จะติดตั้ง wget ที่เราต้องการ โดยอัตโนมัติ
ลองรันคำสั่ง wget
MacOS:~ alice$ wget wget: missing URL Usage: wget [OPTION]... [URL]... Try `wget --help' for more options.
ดูรายชื่อแพ็กเกจที่ติดตั้งไป (list)
ใช้คำสั่ง brew ระบุออปชัน list เพื่อดูรายชื่อแพ็กเกจที่ถูกติดตั้งด้วย brew
MacOS:~ alice$ brew list openssl wget
ถอนการติดตั้ง (uninstall)
หากต้องการถอนการติดตั้งโปรแกรมที่ติดตั้งด้วย brew ก็สามารถทำได้ง่ายด้วยการใช้ brew ระบุออปชัน uninstall
ตัวอย่างเช่น ถอนการติดตั้งโปรแกรม wget และ openssl
MacOS:~ alice$ brew uninstall wget Uninstalling /usr/local/Cellar/wget/1.16.3... (9 files, 1.5M) MacOS:~ alice$ brew uninstall openssl Uninstalling /usr/local/Cellar/openssl/1.0.2d_1... (464 files, 17M)