Apa perbedaan antara npm install dan npm menjalankan membangun?

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?

Mengomentari pertanyaan (1)
Larutan

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.

Komentar (3)

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::

  1. 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

  2. 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!!

Komentar (3)

NPM pada tahun 2019

npm membangun tidak ada lagi. Anda harus memanggil npm menjalankan membangun sekarang. Info lebih lanjut di bawah ini.

TLDR;

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.


NPM Script 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.


Untuk Mempersulit Hal-Hal

  • npm install tidak sama dengan npm menjalankan install
  • npm install pemasangan paket.json dependensi, kemudian berjalan paket.json script.install
  • (Pada dasarnya panggilan 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/build
Komentar (2)
  • npm 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.js
  • npm 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.

Komentar (0)