Cara Mengaktifkan dan Menggunakan pnpm di ServBay
pnpm adalah alat manajemen paket Node.js yang modern dan efisien, dirancang untuk mengatasi masalah dari manajer paket tradisional seperti npm dan yarn dalam pengelolaan dependensi. Dengan sistem file content-addressable serta penggunaan hard link dan symbolic link, pnpm secara signifikan mengurangi konsumsi ruang disk dan mempercepat proses instalasi. Bagi developer yang menggunakan ServBay untuk pengembangan Node.js, menguasai pnpm dapat sangat meningkatkan efisiensi pengelolaan dependensi proyek.
Paket perangkat lunak Node.js yang disediakan oleh ServBay telah terintegrasi dengan corepack, sebuah alat eksperimental resmi dari Node.js untuk mengelola dan menginisiasi versi manajer paket tertentu (seperti npm, yarn, pnpm) untuk sebuah proyek. Setelah menginstal Node.js dari ServBay, Anda dapat mengaktifkan pnpm melalui perintah corepack.
Mengaktifkan pnpm
Jika Anda menemukan bahwa perintah pnpm belum bisa langsung digunakan, biasanya karena pnpm belum diaktifkan melalui corepack. Silakan ikuti langkah-langkah berikut untuk mengaktifkannya:
Buka aplikasi Terminal.
Masukkan perintah berikut untuk mengaktifkan
pnpmmelaluicorepack:bashcorepack enable pnpm1Jika perintah berhasil dijalankan, biasanya tidak ada output apa pun. Ini berarti
corepacktelah menautkan perintahpnpmke sistem Anda.Pastikan
pnpmsudah berhasil diaktifkan dan periksa nomor versinya:bashpnpm -v1Perintah ini akan menampilkan nomor versi
pnpmsaat ini. Misalnya:bash9.1.01Jika terminal menampilkan nomor versi, berarti
pnpmtelah siap digunakan.
Pesan Unduh dari corepack
Saat menggunakan perintah pnpm, jika Anda melihat pesan seperti berikut, berarti corepack sedang mengunduh atau memperbarui versi pnpm yang diperlukan. Ini adalah mekanisme normal dari corepack untuk memastikan Anda menggunakan versi pnpm yang sesuai dengan kebutuhan proyek atau versi terbaru.
bash
$ pnpm -v
! Corepack is about to download https://registry.npmjs.org/pnpm/-/pnpm-9.0.6.tgz
? Do you want to continue? [Y/n]1
2
3
2
3
Ketik Y dan tekan Enter untuk mengizinkan corepack melanjutkan proses unduh dan menjalankan perintah pnpm. Setelah unduhan selesai, perintah akan di eksekusi seperti biasa dan menampilkan nomor versi (atau hasil lain dari perintah pnpm yang Anda jalankan).
Keunggulan Utama dan Contoh Penggunaan pnpm
pnpm dirancang untuk mengelola dependensi secara efisien. Semua paket disimpan dalam storage global content-addressable, dan setiap versi paket hanya tersimpan satu kali. Saat sebuah proyek membutuhkan dependensi, pnpm membuat hard link dari storage global, sedangkan direktori node_modules proyek menggunakan symbolic link yang membangun struktur flat. Berbeda dengan masalah "ghost dependency" pada npm, pnpm secara ketat membatasi modul yang dapat diakses di dalam proyek—hanya modul dependensi langsung yang dapat diimpor.
Pendekatan ini memberikan beberapa keuntungan utama:
- Menghemat ruang disk: Berbagai proyek dapat berbagi file dependensi dengan versi yang sama, sehingga tidak terjadi duplikasi penyimpanan.
- Kecepatan instalasi tinggi: Dalam banyak kasus, file dependensi sudah ada di storage global dan hanya memerlukan pembuatan link, proses ini jauh lebih cepat daripada menyalin atau mengunduh ulang.
- Struktur dependensi yang ketat: Mencegah terjadinya masalah ghost dependency sehingga relasi dependensi proyek menjadi lebih jelas dan terkontrol.
Berikut adalah beberapa contoh perintah umum menggunakan pnpm di lingkungan ServBay:
Misalkan proyek Anda berada di subdirektori dalam root situs ServBay, misalnya /Applications/ServBay/www/my-servbay-app.
Menginstal Dependensi Proyek
Setelah masuk ke direktori proyek, gunakan perintah pnpm install untuk menginstal seluruh dependensi yang didefinisikan dalam package.json:
bash
cd /Applications/ServBay/www/my-servbay-app
pnpm install1
2
2
pnpm akan memeriksa storage global, mengunduh paket yang belum tersedia, dan membuat link di folder node_modules proyek.
Menambahkan Paket Dependensi Baru
Untuk menambahkan dependensi baru ke proyek misalnya lodash:
bash
pnpm add lodash1
Perintah ini akan mengunduh lodash (jika belum ada di storage global), membuat link, dan otomatis memperbarui file package.json dan pnpm-lock.yaml di proyek Anda.
Menghapus Dependensi
Untuk menghapus dependensi yang tidak lagi dibutuhkan, misalnya lodash:
bash
pnpm remove lodash1
Perintah ini akan menghapus lodash dari dependensi proyek, dan memperbarui package.json serta pnpm-lock.yaml.
Menjalankan Script
pnpm juga dapat digunakan untuk menjalankan script yang didefinisikan pada bagian scripts dalam package.json:
bash
pnpm run dev
# Atau dengan cara lebih singkat
pnpm dev1
2
3
2
3
Menjalankan Perintah Paket (pnpx)
Mirip seperti npx, pnpm menyediakan pnpx (atau bisa juga langsung dengan pnpm exec) untuk menjalankan perintah yang sudah terinstal secara lokal di folder node_modules/.bin proyek, tanpa perlu instalasi global:
bash
pnpm exec webpack --version
# Atau dengan cara singkat
pnpx webpack --version1
2
3
2
3
Ringkasan
Dengan perintah corepack enable pnpm, Anda dapat dengan mudah mengaktifkan pnpm di lingkungan Node.js ServBay. Manfaatkan kemampuan manajemen dependensi yang efisien dari pnpm untuk mempercepat instalasi dependensi dan meningkatkan produktivitas pengembangan Node.js Anda, sekaligus menghemat ruang disk yang berharga. Untuk pengguna ServBay yang menginginkan pengalaman pengembangan terbaik, pnpm merupakan alat yang sangat direkomendasikan.
