Saya melihat instruksi untuk menginstal paket dengan baik
npm install <package_name>
atau
npm install <package_name> --save
atau
npm install <package_name> --save-dev
Apa perbedaan antara opsi-opsi ini?
Jawaban:
npm install <package_name> --save
menginstal paket dan memperbarui dependensi di package.json Anda. Sejak pertanyaan ini ditanyakan, ada perubahan ke npm, yang --save
telah menjadi pilihan default, jadi Anda tidak perlu menggunakan --save
untuk memperbarui dependensi.
npm install <package_name> --no_save
menginstal paket tetapi tidak memperbarui dependensi seperti yang tercantum di package.json Anda.
npm install <package_name> ---save-dev
memperbarui devDependencies
dalam paket Anda. Ini hanya digunakan untuk pengujian dan pengembangan lokal.
Anda dapat membaca lebih lanjut di https://docs.npmjs.com/getting-started/using-a-package.json .
npm install membutuhkan 3 tanda eksklusif, opsional yang menyimpan atau memperbarui versi paket di package.json utama Anda:
-S, --save
: Paket akan muncul di dependensi Anda.
-D, --save-dev
: Package akan muncul di devDependencies Anda.
-O, --save-optional
: Paket akan muncul di dependensi opsional Anda.
Saat menggunakan salah satu opsi di atas untuk menyimpan dependensi ke package.json Anda, ada tanda tambahan opsional:
-E, --save-exact
: Dependensi yang disimpan akan dikonfigurasi dengan versi yang tepat daripada menggunakan operator kisaran semver default dari npm. Selanjutnya, jika Anda memiliki npm-shrinkwrap.json, maka itu juga akan diperbarui.
<scope>
bersifat opsional. Paket akan diunduh dari registri yang terkait dengan cakupan yang ditentukan. Jika tidak ada registri yang terkait dengan cakupan yang diberikan, registri default akan diasumsikan. Lihat npm-scope.
Catatan: jika Anda tidak menyertakan @ -symbol pada nama cakupan Anda, npm akan menafsirkannya sebagai repositori GitHub, lihat di bawah. Nama cakupan juga harus diikuti dengan garis miring.
Contoh:
npm install sax --save
npm install githubname/reponame
npm install @myorg/privatepackage
npm install node-tap --save-dev
npm install dtrace-provider --save-optional
npm install readable-stream --save --save-exact
Catatan: Jika ada file atau folder bernama <name>
di direktori kerja saat ini, maka ia akan mencoba menginstalnya, dan hanya mencoba untuk mengambil paket dengan nama jika tidak valid.
(dari dokumen resmi) https://docs.npmjs.com/cli/install
--save
opsi ini masih berfungsi, itu tidak lagi diperlukan - paket sekarang disimpan ke dependensi secara default . Logikanya sekarang terbalik - jika Anda tidak ingin menyimpan paket Anda, Anda perlu menentukan--no-save
The --save
flag tidak lagi memiliki tujuan.
Sebelumnya, seperti yang dicatat dalam jawaban lain, --save
flag akan memperbarui dependensi dalam file proyek package.json
, tetapi npm install
sekarang menyertakan fungsionalitas ini secara default.
Pada titik ini jika Anda ingin mencegah npm install
penyimpanan dependensi, Anda harus menggunakan --no-save
flag.
Terima kasih kepada Coruscate5 karena menyebutkan ini dalam komentar mereka .
Info lebih lanjut di dokumentasi npm-install :
npm install menyimpan paket tertentu ke dalam dependensi secara default. Selain itu, Anda dapat mengontrol di mana dan bagaimana mereka disimpan dengan beberapa bendera tambahan:
-P, --save-prod: Paket akan muncul di dependensi Anda. Ini adalah default kecuali -D atau -O ada.
-D, --save-dev: Package akan muncul di devDependencies Anda.
-O, --save-opsional: Paket akan muncul di dependensi opsional Anda.
--tidak simpan: Mencegah penyimpanan ke dependensi.
Saat menggunakan salah satu opsi di atas untuk menyimpan dependensi ke package.json Anda, ada dua tanda tambahan opsional:
-E, --save-exact: Dependensi yang disimpan akan dikonfigurasi dengan versi yang tepat daripada menggunakan operator rentang semver default npm.
-B, --save-bundle: Dependensi yang disimpan juga akan ditambahkan ke daftar bundleDependencies Anda.