Mengenal NPM
Tags: npm, node, javascript
Published: 2021-07-04 06:34:20

Menjadi seorang developer tidaklah mudah, apalagi koding dari nol, karena ada banyak pekerjaan yang harus anda lakukan, mulai dari membuat beragam komponen untuk halaman website, membuat fungsi utilitas untuk mengatur logika kode, dan masih ada banyak yang akan perlu anda persiapkan. Namun, bagi programmer *Javascript*, ada *tool* untuk mempermudah *development*, yaitu NPM *(Node Package Manager)* yang dapat membantu proses koding dan membantu pengembangan aplikasi sehingga tidak perlu membuat kode dari nol.

Di artikel ini, akan dibahas mengenai apa itu NPM, cara kerjanya, cara penggunaannya, instalasinya, serta baris perintahnya.


##Apa itu NPM?

NPM *(Node Package Manager)* merupakan alat untuk mengelola paket modul pada aplikasi. NPM mempunyai peran besar untuk mengatur modul/perpustakaan pada proyek aplikasi.

Dengan adanya NPM sang developer dapat menggunakan beberapa paket modul siap pakai yang dibuat oleh developer lain, sehingga akan dapat menghemat waktu *development*.

Sama seperti **Package Manager** lain, NPM terdiri dari 2 bagian, yaitu *repository source code* dan *program client*.

####1. Repository source code.####
Merupakan repo berbasis *version control* yang disimpan di server *repository online*.

####2. Program client.####
Merupakan *command-line-tool* yang bertugas untuk melakukan komunikasi dengan *repository*, dan digunakan untuk meng-*install* modul tersebut beserta *dependency*-nya.


##Cara Menggunakan

Untuk menggunakannya developer perlu menentukan modul yang dibutuhkan, lalu buka terminal dan jalankan perintah *install* <nama-modul>, maka paket modul tersebut akan terinstal di proyek kita.

Misal, saya ingin menginstal paket utilitas untuk mengatur logika kode. Pertama, saya ingin **lodash** sebagai modul yang dibutuhkan. Kedua, ketik `npm install lodash` di terminal, lalu jalankan dan tunggu sampai selesai. Maka, **lodash** akan terinstal di proyek aplikasi saya dan siap digunakan.


##Cara Kerja

Ketika anda membuat proyek baru, anda akan diminta untuk mengisi beberapa data untuk proyek anda. Berikut adalah data yang perlu diisi:

* Nama proyek -> nama proyek, misal `react-navigation` (harus unik ketika ingin dipublikasikan).
* Versi -> versi proyek.
* Deskripsi -> deskripsi mengenai proyek, untuk membantu developer lain mengetahui perihal proyek anda.
* Repositori git -> tentukan dimana kode anda tinggal , berguna ketika orang lain ingin ikut berkontribusi pada proyek anda.
* *Keyword* -> kata kunci untuk membantu developer lain menemukan proyek anda.
* Lisensi -> lisensi proyek anda, sehingga orang tahu bagaimana izin untuk menggunakan proyek anda.
* Dependensi -> modul yang digunakan agar proyek berjalan.
* *devDependency* -> modul yang digunakan selama development.

Data tersebut perlu diisi untuk pembuatan dan publikasi, dan juga agar NPM dapat mengidentifikasi paket anda.

##Instalasi

###1. Instal Node.js###

Langkah ini diperlukan untuk dapat menggunakan NPM, anda dapat mengunduh [installer Node.js](https://nodejs.org/en/) dari situsnya.

![Node.js](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uzcbk8y0aiazb635jhit.png)

Setelah selesai diunduh, jalankan *installer*-nya dan selesaikan langkah yang diberikan untuk instalasinya.

Anda juga dapat menggunakan terminal untuk melakukan instalasi dengan menjalankan perintah `brew install node`untuk di *macos*, sedangkan untuk linux `sudo apt install  nodejs` dan `sudo apt install npm`.

###2. Cek Instalasi Node.js dan NPM###

Untuk memastikan Node.js dan NPM sudah terinstal di komputer, anda dapat memeriksanya dengan menjalankan perintah berikut untuk mengetahui versinya melalui terminal:

```node -v && npm -v```

Apabila instalasi berhasil, terminal akan menunjukan versi Node.js dan NPM yang ter-*install* di komputer.


## Baris Perintah (CLI)

Karena NPM berbasis *command-line-tools* maka anda perlu mengetahui beberapa perintah untuk menggunakan NPM. Ada banyak perintah yang tersedia, anda dapat melihat lebih lengkap di [situsnya](https://docs.npmjs.com/cli/v6/commands).

* npm cache clean -> hapus data dari folder cache.
* npm init -> membuat paket baru.
* npm install <nama-modul> -> menginstal paket baru.
* npm uninstall <nama-modul> -> menghapus paket.
* npm update <nama-modul> -> memperbarui paket.

Demikian penjelasan singkat untuk mengenal NPM. Semoga bermanfaat.

Referensi:
https://www.niagahoster.co.id/blog/npm/
https://www.codepolitan.com/mengenal-package-manager-dalam-pemrograman