Tutorial Cara Menggunakan Pub untuk Manajemen Paket pada Dart

Apa itu Pub?
Pub adalah package manager untuk Dart. Fungsinya untuk menginstal package ke dalam proyek Dart.
Package adalah library yang berisi fungsi-fungsi, class, dan program Dart yang bisa digunakan ulang.
Pub menggunakan file pubspec.yaml untuk menentukan
package yang akan digunakan pada proyek.
Cara install Pub di Linux
Pub sebenarnya sudah ikut terinstal dengan Dart.
Jika kamu menggunakan perintah ini untuk menginstal Dart:
sudo apt install dartMaka lokasi Pub akan berada di dalam
direktori /usr/lib/dart/bin/.

Tapi saat kita mengetik pub pada terminal,
perintah ini tidak dikenali.

Ini disebabkan karena alamat path pub belum
didaftarkan ke dalam .bashrc.
Silakan ketik perintah berikut untuk mendaftarkan alamat path Pub:
echo 'export PATH=$PATH:/usr/lib/dart/bin' >> ~/.bashrcSetelah itu, buka ulang terminal lalu coba ketik perintah:
pub --versionMaka hasilnya:

Kini kita sudah bisa menggunakan Pub untuk proyek Dart.
Cara Menggunakan Pub pada Proyek Dart
Seperti yang sudah kita ketahui…
Pub akan menggunakan file pubspec.yaml untuk
menginstal package, maka kita harus membuat file ini
di dalam proyek aplikasi Dart.
Baiklah, silakan buat folder baru bernama belajar_pub.
Ikuti perintah berikut:
mkdir belajar_pub
cd belajar_pub
touch pubspec.yaml main.dartMaka akan tercipta direktori baru beserta file
pubspec.yaml dan main.dart.

Silakan buka VS Code, lalu buka proyek tersebut melalui File->Open Folder.
Setelah itu, isi file pubspec.yaml seperti ini:
name: dart_pub
dependencies:
http: ^0.12.0+2Ini adalah isi file pubspec.yaml yang paling sederhana.

Pada file pubspec.yaml tersebut, kita baru hanya menggunakan dua meta data
yaitu: name dan dependencies.
Sebenarnya masih banyak lagi meta data yang lain, kamu bisa membacanya di dokumentasi pubspec.
http adalah package Dart untuk melakukan HTTP Request.
Jika kamu sudah menginstal Dart Extension di VS Code, maka package ini akan otomatis diinstal tanpa harus menjalankan perintah:
pub getBiasanya akan tampil seperti ini:

Ini artinya package tersebut sudah terinstal ke dalam proyek. Paket-package ini akan disimpan pada direktori:
~/.pub-cache/hosted/pub.dartlang.org/Jika kamu menghapus semua folder yang ada di sana, maka Pub akan men-download lagi dari internet.

Oke…
Sekarang mari kita mencoba menggunakan package http.
Silakan buka file main.dart, kemudian isi dengan
kode ini:
import 'package:http/http.dart' as http;
Future main() async {
var url = "https://api.github.com/users/petanikode";
var response = await http.get(url);
print("Status: ${response.statusCode}");
print("Body: ${response.body}");
}Lalu coba eksekusi dengan perintah ini:
dart main.dartMaka hasilnya:

Mencari Paket Pub
Kamu bisa mencari package Pub pada web https://pub.dev/.

Di sana kamu bisa mencari package untuk Flutter dan Dart. Oh iya Flutter juga memiliki package manager seperti Pub.
Perbedaan dependencies vs dev_dependencies
Pada file pubspec.yaml kita menuliskan nama-nama
paket yang akan diinstal pada proyek di bagian dependencies.
Nah paket yang kita tuliskan di metadata ini adalah paket yang dibutuhkan oleh aplikasi.
Sedangkan jika kita tulis pada dev_dependencies,
maka paket tersebut hanya akan digunakan pada
proses development saja.
Printah-perintah Pub
Pub memiliki beberapa argumen perintah yang bisa kita pakai:
pub cacheuntuk bekerja dengan cache;pub depsuntuk melihat daftar package;pub downgradeuntuk downgrade versi package;pub getuntuk mengambil package dari internet berdasarkanpubspec.yamldan menginstalnya ke proyek;pub globaluntuk menginstal package secara global;pub publishuntuk mempublikasi package ke web pub.darlang.org;pub rununtuk menjalankan package;pub upgradeuntuk upgrade versi package ke versi terbaru;pub uploaderuntuk upload package ke pub.darlang.org;
Membuat Paket Pub Sendiri
Untuk membuat package Pub, kita harus membuat proyek Dart dengan struktur seperti ini:

binadalah folder yang berisi file program binary;libadalah folder yang berisi file dart;pubspec.yamladalah file yang berisi metadata dari paket.
Cara Publikasi Paket Dart
Website pub.darglang.org adalah website yang
berisi kumpulan paket Dart yang dibuat oleh banyak orang.
Siapa saja bisa mempublikasikan paketnya di sana.
Tapi ada syaratnya…
File paket harus lengkap. Berikut ini daftar folder dan file yang harus ada.
bin/berisi file binary;lib/berisi source code paket;CHANGELOGberisi catatan perubahan paket;LICENSEberisi pernyataan tentang lisensi paket;README.mdberisi dokumentasi paket;pubspec.yamlberisi meta data paket.
Kemudian untuk pubspec.yaml harus berisi seperti ini:
name: petanikode
homepage: https://www.petanikode.com
documentation: https://www.petanikode.com/dart-pub/
repository: https://www.github.com/petanikode
description: "Percobaan publish package dart"
version: 0.0.1
authors:
- Dian <dian@petanikode.com>
environment:
sdk: ">=1.8.0 <2.0.0"
dependencies:
http: ^0.12.0+2Setelah itu, coba ketik perintah:
pub publish --dry-runUntuk mengecek apakah syaratnya sudah terpenuhi atau belum. Jika sudah terpenuhi, maka akan muncul seperti ini:

Berikutnya ketik perintah:
pub publishUntuk mempublikasikan package. Kita akan diminta login menggunakan akun Google.
Silakan buka link yang muncul melalui web browser.

Sampai muncul seperti ini.

Ini artinya kita sudah berhasil login dengan akun Google dan paket akan segera di-upload.
Jika paket sudah ter-upload, maka di terminal akan muncul seperti ini:

Sekarang coba buka pub.darlang.org/packages/<namapaket>.

Hore!
Paket petanikode berhasil dipublikasikan di
web Pub.
Apa Selanjutnya?
Kita sudah belajar dasar-dasar cara menggunakan Pub untuk manajemen paket pada Dart.
Tentu ini masih belum cukup.
Karena itu, silakan lanjutkan dengan bereksperimen sendiri. Buatlah paket sendiri dan publikasikan di website Pub.
Siapa tahu dengan paket yang kita buat, akan banyak membantu programmer yang lainnya di seluruh dunia.