Npm (perangkat lunak)

Revisi sejak 5 Juli 2018 17.23 oleh Ardiantapargo (bicara | kontrib) (Dibuat dengan menerjemahkan halaman "Npm (software)")
npm
Tipeapplication-level package manager (en) Terjemahkan, perangkat lunak bebas dan JavaScript library (en) Terjemahkan Edit nilai pada Wikidata
Versi pertama12 Januari 2010; 14 tahun lalu (2010-01-12)[1]
Versi stabil
10.9.0 (3 Oktober 2024) Edit nilai pada Wikidata
LisensiArtistic License 2.0
Karakteristik teknis
Sistem operasiLintas platform Edit nilai pada Wikidata
Bahasa pemrogramanJavascript Edit nilai pada Wikidata
Informasi pengembang
PembuatIsaac Z. Schlueter
PengembangRebecca Turner, Kat Marchán, others
Informasi tambahan
Situs webwww.npmjs.com
Stack ExchangeEtiqueta Edit nilai pada Wikidata
GitHub: npm
Sunting di Wikidata Sunting di Wikidata • Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini
npm adalah sebuah manager paket untuk bahasa pemrograman JavaScript yang menjadi manager default untuk lingkungan runtime Node.js. Npm terdiri dari command line client yang disebut npm, dan sebuah database online yang berisi paket publik dan paket pribadi berbayar, yang disebut npm registry. Registry dapat diakses melalui klien, dan ketersediaan paket dapat dicari melalui website npm. Manager 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).[3]

Penggunaan

npm dapat mengelola ketergantungan paket dari suatu proyek, serta pemasangan program JavaScript secara global.[4] Ketika digunakan sebagai manager paket untuk proyek lokal, npm dapat menginstal semua paket ketergantungan dengan satu perintah melalui file package.json.[5] Pada file package.json, setiap paket dapat ditentukan versi yang akan dipasang dengan menggunakan skema semantic versioning. Hal ini memungkinkan pengembang untuk melakukan pemberharuan paket otomatis dan juga menghindari benturan perubahan yang tidak diinginkan.[6] npm juga menyediakan alat version-bumping untuk memilih paket dengan versi tertentu.[7] Selain package.json, npm juga menyediakan file package-lock.json[8] 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.[9] Mereka semua kompatibel dengan semua registri publik npm dan menggunakannya secara default, tetapi menyediakan berbagai klien-sisi pengalaman, biasanya terfokus pada peningkatan kinerja dan determinisme dibandingkan dengan npm klien.[10]

Lihat juga

  • Repositori perangkat lunak
  • Paket Universal Manager
  • Yeoman

Referensi

  1. ^ "Earliest releases of npm". GitHub. Diakses tanggal 27 July 2016. 
  2. ^ "Release v6.1.0 · npm/npm". GitHub. 2018-05-17. Diarsipkan dari versi asli tanggal 2018-06-03. Diakses tanggal 2018-06-03. 
  3. ^ Schlueter, Isaac Z. (25 March 2013). "Forget CommonJS. It's dead. **We are server side JavaScript.**". GitHub. 
  4. ^ Ellingwood, Justin. "How To Use npm to Manage Node.js Packages on a Linux Server". DigitalOcean. Diakses tanggal 22 October 2016. 
  5. ^ "npm-install". docs.npmjs. Diakses tanggal 22 October 2016. 
  6. ^ "semver". docs.npmjs. Diakses tanggal 22 October 2016. 
  7. ^ "npm-version". docs.npm. Diakses tanggal 29 October 2016. 
  8. ^ Koirala, Shivprasad (21 Aug 2017). "What is the need of package-lock.json in Node?". codeproject. 
  9. ^ "Hello, Yarn!". The npm Blog. 11 October 2016. Diakses tanggal 17 December 2016. 
  10. ^ Katz, Yehuda (11 October 2016). "Why I'm working on Yarn". Diakses tanggal 17 December 2016.