Apa perbedaan antara npm install
dan npm menjalankan membangun
?
Saya telah melihat di proyek saya yang kadang-kadang npm mulai gagal ketika npm install
dilakukan, tetapi, setelah berjalan npm menjalankan membangun
, itu bekerja dengan baik.
Bagaimana cara kerja bagian dalam dari dua target yaitu install
dan run membangun
berbeda?
npm install
menginstal dependensi ke node_modules/
directory, untuk node proyek anda're bekerja pada. Anda dapat memanggil install
pada yang lain node.js proyek (modul), untuk menginstalnya sebagai ketergantungan untuk proyek anda.
npm menjalankan membangun
adalah alias untuk npm membangun
, dan itu tidak apa-apa, kecuali jika anda menentukan apa "membangun" apakah dalam paket anda.file json. Ini memungkinkan anda melakukan apapun yang diperlukan bangunan/persiapan tugas proyek anda, sebelum itu yang digunakan dalam proyek lain.
membangun
disebut dengan link
dan install
perintah, menurut dokumentasi untuk membangun:
Ini adalah pipa perintah yang disebut dengan npm link dan npm install.
perbedaan utama adalah ::
npm install adalah npm cli-perintah yang telah ditetapkan hal yang saya.e, seperti yang ditulis oleh Churro, untuk menginstal dependensi yang ditentukan dalam paket.json
npm menjalankan perintah-nama atau npm run-script perintah-nama ( *ex.* npm menjalankan membangun ) juga cli-perintah yang telah ditetapkan untuk menjalankan skrip kustom anda dengan nama yang ditentukan di tempat "perintah-nama". Jadi, dalam hal ini npm menjalankan membangun adalah custom script perintah dengan nama "membangun" dan akan melakukan apa pun tertentu di dalamnya (misalnya **echo 'hello world' diberikan di bawah ini contoh paket.json).
Ponits untuk dicatat::
Satu hal lagi, npm membangun
dan npm menjalankan membangun
adalah dua hal yang berbeda npm membangun
akan melakukan seperti yang ditulis oleh Churro, tapi npm menjalankan membangun
akan melakukan pekerjaan kustom yang ditulis di dalam paket.json
Dan npm membangun
dan npm menjalankan membangun
adalah tidak sama. Apa yang saya berarti, anda tidak bisa menentukan beberapa hal dalam membangun kustom (npm menjalankan membangun
) naskah dan mengharapkan npm membangun
untuk melakukan hal yang sama. Cobalah hal berikut untuk memverifikasi dalam paket.json
:
{
"name": "demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build":"echo 'hello build'"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {},
"dependencies": {}
}
dan menjalankan npm menjalankan membangun
dan npm membangun
satu per satu dan anda akan melihat perbedaannya. Untuk lebih lanjut tentang perintah silakan ikuti npm dokumentasi.
Cheers!!
npm membangun
tidak ada lagi. Anda harus memanggil npm menjalankan membangun
sekarang. Info lebih lanjut di bawah ini.
npm install
: menginstal dependensi, maka panggilan install
dari paket.json
script
di bidang.
npm menjalankan membangun
: menjalankan membangun lapangan dari paket.json
script
di bidang.
https://docs.npmjs.com/misc/scripts
Ada banyak hal yang anda dapat dimasukkan ke dalam npm paket.json
script lapangan. Periksa dokumentasi link di atas lebih di atas siklus hidup script - paling memiliki pra dan pasca kait yang bisa anda jalankan skrip sebelum/setelah menginstal, mempublikasikan, meng-uninstall, tes, mulai, berhenti, shrinkwrap, versi.
npm install
tidak sama dengan npm menjalankan install
npm install
pemasangan paket.json
dependensi, kemudian berjalan paket.json
script.install
npm menjalankan install
setelah dependensi yang diinstal.npm menjalankan install
hanya menjalankan paket.json
script.install
, ini ini tidak akan menginstal dependensi.npm membangun
digunakan untuk perintah yang berlaku (digunakan untuk menjadi sama seperti npm menjalankan membangun
) tapi itu tidak ada lagi; sekarang merupakan perintah internal. Jika anda menjalankan anda'll mendapatkan: npm MEMPERINGATKAN membangun npm membangun dipanggil tanpa argumen. Apakah yang anda maksud untuk npm run-naskah membangun?
Anda dapat membaca lebih lanjut tentang dokumentasi: https://docs.npmjs.com/cli/buildnpm install
menginstal depedendencies dalam paket anda.json config.npm menjalankan membangun
menjalankan script "membangun" dan menciptakan sebuah script yang menjalankan aplikasi anda - biarkan's katakan server.jsnpm mulai
berjalan "mulai" naskah yang kemudian akan menjadi "node server.js"It's sulit untuk tahu persis apa masalah itu tetapi pada dasarnya jika anda melihat skrip konfigurasi, saya akan menebak bahwa "membangun" menggunakan beberapa jenis membangun alat untuk membuat aplikasi anda sementara "mulai" mengasumsikan membangun telah dilakukan tapi kemudian gagal jika file tersebut tidak ada.
Anda mungkin menggunakan bower atau mendengus - sepertinya aku ingat yang khas mendengus aplikasi akan didefinisikan script tersebut serta "bersih" script untuk menghapus membangun terakhir.
Membangun alat-alat yang cenderung untuk membuat file dalam bin/, dist/, atau membangun/ folder yang ingin script kemudian panggilan - misalnya "node membangun/server.js". Ketika anda npm mulai
gagal, itu mungkin karena anda disebut npm bersih
atau serupa dan menghapus build terbaru sehingga anda aplikasi file tidak hadir menyebabkan npm mulai gagal.
npm membangun's source code - untuk menyentuh pada pembahasan ini pertanyaan - apakah di github untuk anda untuk melihat jika anda suka. Jika anda menjalankan npm membangun
secara langsung dan anda memiliki "membangun" script yang telah ditetapkan, maka akan keluar pesan kesalahan yang meminta anda untuk menelepon anda membangun script sebagai npm run-naskah membangun
sehingga's tidak sama dengan npm menjalankan script
.
I'm tidak yakin apa yang npm membangun
tidak, tetapi tampaknya terkait dengan postinstall dan kemasan script di dependensi. Saya berasumsi bahwa ini mungkin akan membuat yakin bahwa setiap CLI membangun script's atau native library yang diperlukan oleh dependensi yang dibangun untuk lingkungan tertentu setelah men-download paket. Ini akan menjadi mengapa link dan menginstal panggilan script ini.