sumber : https://www.petanikode.com/dart-pub/
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 dart
Maka 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
.
Silahkan ketik perinth berikut untuk mendaftarkan alamat path Pub:
echo 'export PATH=$PATH:/usr/lib/dart/bin' >> ~/.bashrc
Setelah itu, buka ulang terminal lalu coba ketik perintah:
pub --version
Maka hasilnya:
Kini kita sudah bisa menggunakan Pub untuk pryek 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, silahkan buat folder baru bernama belajar_pub
. Ikuti perintah berikut:
mkdir belajar_pub
cd belajar_pub
touch pubspec.yaml main.dart
Maka akan tercipta direktori baru beserta file pubspec.yaml
dan main.dart
.
Silahkan 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+2
Ini adalah isi file pubspec.yaml
yang paling sederhana.
Pada file pubspec.yaml
tersebut, kita baru hanya menggunakan dua meta data yaitu: name
dan depedencies
.
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 get
Biasanya 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
.
Silahkan 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.dart
Maka hasilnya:
Mencari Paket Pub
Kamu bisa mencari package Pub pada web https://pub.dartlang.org/.
Di sana kamu bisa mencari package untuk Flutter dan Dart. Oh iya Flutter juga memiliki package manager seperti Pub.
Perbedaan depedencies vs dev_depedencies
Pada file pubspec.yaml
kita menuliskan nama-nama paket yang akan diinstal pada proyek di bagian depedencies
.
Nah paket yang kita tuliskan di metadata ini adalah paket yang dibutuhkan oleh aplikasi.
Sedangkan jika kita tulis pada dev_depedencies
, maka paket tersebut hanya akan digunakan pada proses development saja.
Perintah-perintah Pub
Pub memiliki beberapa argumen perintah yang bisa kita pakai:
pub cache
untuk bekerja dengan cache;pub deps
untuk melihat daftar package;pub downgrade
untuk downgrade versi package;pub get
untuk mengambil package dari internet berdasarkanpubspec.yaml
dan menginstalnya ke proyek;pub global
untuk menginstal package secara global;pub publish
untuk mempublikasi package ke web pub.darlang.org;pub run
untuk menjalankan package;pub upgrade
utuk upgrade versi package ke versi terbaru;pub uploader
untuk upload package ke pub.darlang.org;
Membaut Paket Pub Sendiri
Untuk membuat package Pub, kita harus membuat proyek Dart dengan struktur seperti ini:
bin
adalah folder yang berisi file program binary;lib
adalah folder yang berisi file dart;pubspec.yaml
adalah 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;CHANGELOG
berisi catatatn perubahan paket;LICENSE
berisi pernyataan tentan lisensi paket;README.md
berisi dokumentasi paket;pubspec.yaml
berisi 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+2
Setelah itu, coba ketik perintah:
pub publish --dry-run
Untuk mengecek apakah syaratnya sudah terpenuhi atau belum. Jika sudah terpenuhi, maka akan muncul seperti ini:
Berikutnya ketik perintah:
pub publish
Untuk mempublikasikan package. Kita akan diminta login menggunakan akun Google.
Silahkan 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 terupload, maka diterminal akan muncul seperti ini:
Sekarang coba buka pub.darlang.org/packages/<namapaket>
.
Hore!
Paket petanikode
berhasil dipublikasikan di web Pub.
Komentar Terbaru