Jika anda telah bekerja dengan Node.js, anda berkemungkinan menghadapi kedua-dua npm dan npx.
Walaupun bunyinya serupa dan kedua-duanya merupakan bahagian penting ekosistem Node.js, ia mempunyai tujuan yang berbeza. Siaran ini akan meneroka perbezaan antara npm dan npx, membantu anda memahami bila dan sebab untuk menggunakan setiap satu.
NPM, singkatan daripada Pengurus Pakej Node, ialah pengurus pakej lalai untuk Node.js. Ia membenarkan pembangun memasang, berkongsi dan mengurus pakej (perpustakaan atau modul kod) dalam projek mereka.
Berikut ialah beberapa tugas biasa yang dibantu oleh npm:
npm install <package-name>
Mengurus versi pakej: Mengunci versi perpustakaan tertentu untuk memastikan binaan yang konsisten.
Menjalankan skrip khusus projek: Ditakrifkan dalam fail package.json.
npm run <script-name>
npx ialah alat yang diperkenalkan dalam NPM versi 5.2.0 (Julai 2017). Walaupun npm mengurus kebergantungan dan pakej, npx direka untuk melaksanakan pakej Node.js, terutamanya alat CLI, tanpa memasangnya secara global.
1. Pemasangan Pakej vs Perlaksanaan
npm install -g create-react-app create-react-app my-app
npx create-react-app my-app
Ini menjimatkan masa dan ruang cakera kerana anda mengelak daripada memasang pakej yang mungkin anda gunakan sekali sahaja.
2. Pakej Global
Apabila anda menggunakan npm, pakej global dipasang dan berterusan di seluruh sistem anda, yang kadangkala boleh mengganggu persekitaran anda.
Dengan npx, anda boleh melaksanakan pakej tanpa perlu risau tentang menyimpannya pada sistem anda secara kekal.
Contoh memasang pakej secara global dengan npm:
npm install -g typescript tsc --version
Dengan npx, pemasangan global tidak diperlukan:
npx tsc --version
3. Pengendalian Pakej Automatik
Apabila anda menjalankan arahan dengan npx, ia secara automatik menyemak sama ada pakej wujud secara tempatan atau global, dan jika tidak, ia memuat turun dan melaksanakannya buat sementara waktu. Ini amat berguna untuk menjalankan tugas sekali sahaja.
Contohnya:
npx cowsay "Hello, World!"
Ini akan memuat turun pakej cowsay jika ia tidak dipasang, jalankannya, dan kemudian bersihkan selepas itu.
4. Pakej Boleh Laksana Tanpa Skrip
Apabila menjalankan perintah yang ditakrifkan dalam skrip package.json menggunakan npm, anda akan menulis:
npm run my-script
Tetapi dengan npx, anda boleh menjalankan arahan boleh laku secara terus:
npx my-script
Ini amat berguna jika skrip tidak ditakrifkan secara eksplisit dalam package.json.
- Mengurus kebergantungan: Gunakan npm untuk memasang, mengemas kini dan mengalih keluar kebergantungan projek.
- Menjalankan skrip khusus projek: Ditakrifkan dalam package.json dan disesuaikan dengan projek anda.
- Mengurus versi pakej: Mengunci versi perpustakaan tertentu untuk mengekalkan konsistensi projek.
- Pelaksanaan pakej sekali: Gunakan npx untuk pakej yang anda tidak mahu pasang secara global, seperti alatan CLI yang anda hanya akan gunakan sekali.
- Menjalankan boleh laku: Untuk arahan seperti create-react-app, npx membenarkan anda menjalankannya tanpa pemasangan global.
- Menguji versi berbeza: Laksanakan versi alat tertentu dengan pantas tanpa perlu memasangnya.
Akhir sekali, kedua-dua npm dan npx ialah alatan penting dalam ekosistem Node.js, tetapi ia mempunyai tujuan yang berbeza. Gunakan npm untuk mengurus kebergantungan projek anda dan npx untuk melaksanakan pakej tanpa pemasangan kekal.
Perbezaan kecil ini boleh menjadikan aliran kerja anda lebih cekap, menjimatkan masa dan mengelakkan pemasangan global yang tidak perlu.
Atas ialah kandungan terperinci npm Vs npx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!