Wiki

npm (perangkat lunak)

Related Articles
npm
Perancang awal Isaac Z. Schlueter
Pengembang Rebecca Turner, Kat Marchán, others
Rilis perdana 12 Januari 2010; 11 tahun lalu (2010-01-12)
Rilis stabil 6.13.0
/ 6 November 2019; 19 bulan lalu (2019-11-06)
Repositori
  • github.com/npm/cli

Bahasa pemrograman JavaScript
Lisensi Artistic License 2.0
Situs web www.npmjs.com

npm adalah sebuah manajer paket untuk bahasa pemrograman JavaScript yang menjadi manajer baku untuk lingkungan runtime Node.js. npm terdiri dari klien baris perintah yang disebut npm, dan sebuah pangkalan data daring yang berisi paket publik dan paket pribadi berbayar, yang disebut npm registry. Registry dapat diakses melalui klien, dan ketersediaan paket dapat dicari melalui situs web npm. Manajer paket dan registry dikelola oleh npm, Inc.

Sejarah


npm seluruhnya ditulis dalam JavaScript dan dikembangkan oleh Isaac Z. Schlueter sebagai hasil dari pengalaman “melihat pengemasan modul dilakukan dengan buruk” dan dengan inspirasi dari kekurangan dari proyek-proyek serupa lainnya seperti PEAR (PHP) dan CPAN (Perl).

Penggunaan


npm dapat mengelola ketergantungan paket dari suatu proyek, serta pemasangan program JavaScript secara global.
Ketika digunakan sebagai manajer paket untuk proyek lokal, npm dapat menginstal semua paket ketergantungan dengan satu perintah melalui berkas package.json.
Pada berkas package.json, setiap paket dapat ditentukan versi yang akan dipasang dengan menggunakan skema versi semantik. Hal ini memungkinkan pengembang untuk melakukan pemutakhiran paket otomatis dan juga menghindari benturan perubahan yang tidak diinginkan.
npm juga menyediakan alat penaikkan versi untuk memilih paket dengan versi tertentu. Selain package.json, npm juga menyediakan berkas package-lock.json yang bertugas mengunci versi paket yang terpasang pada proyek.

Alternatif


Ada beberapa alternatif untuk npm yang digunakan menginstal modul JavaScript, diantaranya: ied, pnpm, npm-install, npmd, dan Yarn yang dirilis terakhir oleh Facebook pada bulan Oktober 2016. Mereka semua kompatibel dengan semua registri publik npm dan menggunakannya secara baku, tetapi menggunakan pengalaman sisi klien yang berbeda, biasanya terfokus pada peningkatan kinerja dan determinisme dibandingkan dengan npm.

Lihat juga


  • Repositori perangkat lunak
  • Universal Package Manager
  • Yeoman

Related Articles

Check Also
Close
Back to top button