ติดตั้งแพ็กเกจบน Mac OS X ได้มากขึ้นด้วย Homebrew

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)

ข้อมูลอ้างอิง

Leave a Reply

Your email address will not be published.