Cara Mengaktifkan dan Menggunakan pnpm di ServBay
pnpm ialah alat pengurusan pakej Node.js yang moden dan sangat cekap, direka khusus untuk menyelesaikan masalah utama yang sering ditemui ketika mengurus kebergantungan pada pengurus tradisional seperti npm dan yarn. Dengan menggunakan sistem fail berasaskan pengalamatan kandungan serta hard link dan symlink, pnpm dapat mengurangkan penggunaan ruang cakera secara signifikan dan juga mempercepatkan proses pemasangan. Untuk para pembangun Node.js yang menggunakan ServBay, menguasai pnpm akan sangat membantu dalam mengoptimumkan pengurusan kebergantungan projek anda.
Pakej Node.js yang diberikan oleh ServBay telah pun dilengkapi dengan corepack, sebuah alat eksperimen rasmi Node.js untuk mengurus serta memudahkan penggunaan versi pengurus pakej tertentu seperti npm, yarn, atau pnpm pada projek anda. Selepas Node.js dipasang melalui ServBay, anda boleh mengaktifkan pnpm dengan mudah menggunakan arahan corepack.
Mengaktifkan pnpm
Jika anda mendapati arahan pnpm tidak boleh terus digunakan, ini kebiasaannya kerana ia belum lagi diaktifkan melalui corepack. Sila ikuti langkah di bawah untuk mengaktifkannya:
Buka aplikasi Terminal anda.
Masukkan perintah berikut untuk mengaktifkan
pnpmmelaluicorepack:bashcorepack enable pnpm1Jika perintah ini berjaya, biasanya tiada sebarang output dipaparkan. Ini menandakan bahawa
corepacktelah berjaya pautkan arahanpnpmke dalam sistem anda.Sahkan bahawa
pnpmtelah berjaya diaktifkan dan semak nombor versinya:bashpnpm -v1Jalankan arahan ini dan versi semasa
pnpmakan dipaparkan, sebagai contoh:bash9.1.01Jika anda dapat melihat nombor versi, ini bermakna
pnpmtelah bersedia untuk digunakan.
Notis Muat Turun daripada corepack
Apabila anda menggunakan arahan pnpm, jika anda dapati mesej seperti berikut, ini bermakna corepack sedang memuat turun atau mengemas kini versi pnpm yang diperlukan. Ini adalah mekanisme biasa dan bertujuan untuk memastikan anda menggunakan versi pnpm yang tepat untuk projek tersebut, sama ada versi terkini atau versi yang projek anda perlukan.
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
Tekan Y diikuti Enter untuk membenarkan corepack memuat turun dan meneruskan arahan pnpm. Setelah muat turun selesai, perintah akan berjalan seperti biasa dan akan memaparkan nombor versi atau hasil lain yang diminta.
Kelebihan Utama pnpm & Contoh Penggunaan
Prinsip utama rekabentuk pnpm adalah untuk mengurus kebergantungan dengan lebih cekap. Semua pakej disimpan dalam stor global berasaskan pengalamatan kandungan—setiap versi pakej hanya disimpan sekali sahaja. Apabila projek memerlukan satu kebergantungan, pnpm akan membuat hard link daripada stor global tersebut, dan struktur node_modules projek disusun dengan symlink yang rata. Tidak seperti isu “phantom dependency” pada npm, pnpm memastikan hanya kebergantungan langsung sahaja yang boleh diakses di dalam projek.
Kaedah ini membawa beberapa faedah utama:
- Jimat ruang cakera: Projek berlainan berkongsi fail kebergantungan versi sama, mengelakkan duplikasi storan.
- Pemasangan sangat pantas: Kebanyakan fail kebergantungan sudah tersedia dalam stor global, jadi hanya link yang perlu dibuat, jauh lebih pantas berbanding salinan atau muat turun semula.
- Struktur kebergantungan terurus: Mengelakkan masalah kebergantungan “phantom”; menjadikan hubungan antara pakej lebih jelas dan mudah diurus.
Berikut ialah beberapa arahan pnpm utama yang sering digunakan dalam persekitaran ServBay:
Misal kata projek anda terletak pada subdirektori dalam root laman ServBay; contohnya /Applications/ServBay/www/my-servbay-app.
Memasang Kebergantungan Projek
Lepas masuk ke direktori projek, gunakan arahan pnpm install untuk memasang semua kebergantungan yang ditakrif dalam package.json:
bash
cd /Applications/ServBay/www/my-servbay-app
pnpm install1
2
2
pnpm akan menyemak stor global, memuat turun pakej yang belum ada, dan buat pautan ke dalam folder node_modules projek anda.
Menambah Pakej Kebergantungan Baru
Untuk menambah satu kebergantungan baru, contoh lodash:
bash
pnpm add lodash1
Arahan ini akan memuat turun lodash (jika belum wujud dalam stor global), menghasilkan link ke projek, serta mengemaskini fail package.json dan pnpm-lock.yaml.
Memadam Pakej Kebergantungan
Untuk menghapus satu kebergantungan yang tidak diperlukan lagi, contohnya lodash:
bash
pnpm remove lodash1
Ini akan mengeluarkan lodash dari kebergantungan projek serta mengemas kini fail package.json dan pnpm-lock.yaml.
Menjalankan Skrip
Anda juga boleh guna pnpm untuk melaksanakan skrip yang ditakrif dalam medan scripts di package.json:
bash
pnpm run dev
# Atau lebih ringkas
pnpm dev1
2
3
2
3
Menjalankan Arahan Pakej (pnpx)
Serupa dengan npx, pnpm menyediakan pnpx (atau gunakan sahaja pnpm exec) untuk menjalankan perintah yang dipasang dalam node_modules/.bin projek, tanpa perlu memasangnya secara global:
bash
pnpm exec webpack --version
# Atau pendekkan kepada
pnpx webpack --version1
2
3
2
3
Kesimpulan
Dengan satu arahan corepack enable pnpm, anda boleh mengaktifkan pnpm pada persekitaran Node.js ServBay dengan mudah. Menggunakan kebolehan pengurusan kebergantungan yang cekap dari pnpm, anda dapat mempercepatkan pemasangan kebergantungan projek Node.js anda dan menjimatkan ruang cakera, lantas meningkatkan produktiviti pembangunan. Bagi pengguna ServBay yang menuntut kelancaran tertinggi dalam pengalaman pembangunan, pnpm adalah alat yang sangat disyorkan.
