Friday, March 17, 2017

Mengelola Tools Development dengan Homebrew

Pada tulisan kali ini, kita akan membahas tentang Homebrew. Buat para developer pengguna macOS, homebrew merupakan salah satu tools yang akan sangat membantu. Mari kita mulai tulisan ini dengan perkenalan sekilas terkait Homebrew. Homebrew merupakan sebuah package manager untuk iOS, yang dapat diinstall dengan mudah melalui terminal. Nah pada Homebrew, tools-tools atau package-package itu disebut sebagai formula. Apa aja sih keuntungan dari Homebrew?

Pertama, kita bisa dengan mudah melakukan proses install dan remove dari tools tersebut, cukup melalui terminal. Command untuk melakukan install dan delete melalui brew sangat sederhana, seperti yang dapat dilihat pada gambar-gambar berikut ini.



Sangat sederhana bukan? Jadi pada gambar di atas kita telah menjalankan tiga command dasar pada brew, yaitu install, list, dan remove. Command "brew install" tidak hanya melakukan instalasi tools yang kita maksud saja, tetapi juga akan melakukan instalasi seluruh dependensi yang dibutuhkan untuk dapat menjalankan tools tersebut.

Kedua, kita dapat dengan mudah melakukan instalasi versi lain dari tools tersebut. Seperti yang dapat dilihat pada gambar sebelumnya, kita telah melakukan instalasi homebrew/versions/vim74. Sebenarnya pada contoh sebelumnya, kita hanya melakukan instalasi vim tetapi dengan tambahan "homebrew/versions/<nama_tools>" kita bisa melakukan instalasi untuk versi lain dari tools tersebut. Seperti pada gambar tersebut juga, bisa dilihat bahwa saya memiliki dua versi maven, yaitu maven31 dan maven 32. Apa sih kepentingan untuk memiliki berbagai versi tersebut? Well, ketika kita menjalankan proyek milik client, belum tentu seluruh tools yang digunakan dan dikuasai mereka adalah versi terbaru sehingga kita juga harus bisa melakukan development pada versi-versi yang lain dari suatu tools. Brew memberikan kemudahan tersebut melalui embel-embel "homebrew/versions", dan untuk melakukan penggantian versi pun sangat mudah seperti pada gambar berikut.


Seperti yang terlihat pada gambar di atas, untuk mengganti versi maven yang aktif/digunakan cukup dengan command "brew unlink" dan "brew link", dimana dapat dilihat pada gambar di bawah kalau versi maven yang aktif sudah berubah.


Ketiga, here comes one of the best part. Buat para developer yang pernah mengalami masalah "proyek ini butuh java versi 7, sedangkan laptop gue adanya java versi 8", Homebrew bisa mengatasi permasalahn tersebut dengan relatif mudah. Gimana caranya? Well caranya kita cuma perlu install beberapa tools tambahan melalui brew, yaitu jEnv dan Caskroom. Setelah kedua tools tersebut ter-install, selanjutnya kita tinggal menjalankan command seperti gambar berikut.


Setelah proses download selesai, kita dapat melihat pada direktori "/Library/Java/JavaVirtualMahines/" terdapat dua versi java yang berbeda sudah ter-install, seperti gambar berikut.


Langkah selanjutnya adalah menambahakan path java tersebut ke dalam jenv dengan command "jenv add <javaVersionPath>", seperti gambar berikut ini.


Setelah berhasil, selanjutnya dengan memanfaatkan jEnv kita bisa mengatur versi java yang digunakan baik itu untuk shell, global, maupun local (direktori) seperti pada contoh berikut.



Jadi kesimpulan kali ini adalah untuk memperkenalkan Homebrew dan beberapa kasus yang dapat diselesaikan dengan bantuan Homebrew ini.

Sekian tulisan kali ini, semoga bisa membantu buat para developer ataupun tech-savvy yang ingin bereksperimen dengan terminal milik macOS, selamat mencoba!

P.S.
1. Daftar formula yang terdapat pada Homebrew dapat dilihat pada BrewFomulas
2. Jika merasa command "brew instal homebrew/versions/<nama>" ataupun "brew cask install caskroom/versions/<nama>" terlalu panjang, kita bisa melakukan command "brew tap <repository>" terlebih dahulu, sehingga selanjutnya hanya tinggal melakukan command install.




Referensi:
o http://stackoverflow.com/questions/15740480/how-to-remove-all-versions-of-a-formula-with-brew
o https://brew.sh
o http://www.jenv.be
o https://caskroom.github.io
o http://stackoverflow.com/questions/8833230/how-do-i-find-a-list-of-homebrews-installable-packages
o http://stackoverflow.com/questions/3987683/homebrew-install-specific-version-of-formula
o http://stackoverflow.com/questions/26252591/mac-os-x-and-multiple-java-versions
o http://stackoverflow.com/questions/27440575/how-to-switch-between-maven-and-maven30
o http://stackoverflow.com/questions/34408147/what-does-brew-tap-mean
o https://github.com/caskroom/homebrew-cask/issues/9447

No comments:

Post a Comment