Terima kasih. Inilah yang saya butuhkan. Di mana saya dapat menemukan opsi seperti itu? Ini tidak dijelaskan dalam 'npm help install', 'npm help config' dan 'npm help scripts'.
Peringatan! Opsi ini --ignore-scriptsmenonaktifkan SEMUA skrip - bahkan dari dependensi Anda. Jika dependensi Anda perlu menjalankan skrip untuk mis. Menginstal beberapa binari, mereka mungkin rusak / tidak lengkap.
delbertooo
7
Jadi adakah teknik untuk menginstal node_modules (dan semua skripnya) tetapi abaikan saja skrip paket utama?
Derrick
3
Bukan hanya ini, tetapi --ignore-scripts, atau opsi konfigurasi terkait (yang saya tetapkan secara global) juga akan berarti bahwa npm run startdiam-diam tidak akan melakukan apa-apa dan melaporkan keberhasilan. Menakjubkan.
Ash Berlin-Taylor
21
Anda juga dapat mengaktifkan pengaturan di file konfigurasi npm.
npm config set ignore-scripts true
Catatan: Ini akan menonaktifkan skrip untuk semua paket NPM.
Untuk melakukan ini untuk perpustakaan Anda sendiri, saya sarankan sesuatu yang sederhana seperti:
#!/usr/bin/env bash
##this is your postinstall.sh script:set-e;if["$your_pkg_skip_postinstall"=="yes"]; then
echo "skipping your package's postinstall routine.";
exit 0;
fi
Terima kasih! Ini berfungsi baik jika Anda hanya mencoba untuk menonaktifkan skrip Anda sendiri tetapi tidak SEMUA skrip di semua dependensi.
Brian Neisler
@BrianNeisler Anda sangat menyambut, selalu merasa baik untuk membantu orang lain. Ngomong-ngomong, saya pikir kurung ganda [[]] mungkin lebih baik daripada kurung tunggal untuk sebagian besar kasus penggunaan, tidak yakin tho.
Alexander Mills
2
Saya ingin menonaktifkan skrip postinstall untuk proyek saya tetapi ingin agar semua skrip dependensi proyek saya berjalan ketika saya melakukannya npm install. Inilah yang akhirnya saya lakukan.
Jawaban:
Tidak mungkin untuk menonaktifkan hanya
postinstall
skrip. Namun, Anda dapat menonaktifkan semua skrip menggunakan:Seperti yang disebutkan delbertooo dalam komentar, ini juga menonaktifkan skrip dependensi.
sumber
--ignore-scripts
menonaktifkan SEMUA skrip - bahkan dari dependensi Anda. Jika dependensi Anda perlu menjalankan skrip untuk mis. Menginstal beberapa binari, mereka mungkin rusak / tidak lengkap.--ignore-scripts
, atau opsi konfigurasi terkait (yang saya tetapkan secara global) juga akan berarti bahwanpm run start
diam-diam tidak akan melakukan apa-apa dan melaporkan keberhasilan. Menakjubkan.Anda juga dapat mengaktifkan pengaturan di file konfigurasi npm.
npm config set ignore-scripts true
Catatan: Ini akan menonaktifkan skrip untuk semua paket NPM.
sumber
Untuk melakukan ini untuk perpustakaan Anda sendiri, saya sarankan sesuatu yang sederhana seperti:
kemudian lakukan instalasi npm Anda dengan:
sumber
Saya ingin menonaktifkan skrip postinstall untuk proyek saya tetapi ingin agar semua skrip dependensi proyek saya berjalan ketika saya melakukannya
npm install
. Inilah yang akhirnya saya lakukan../scripts/skip.js
sekarang hanya mengatur variabel lingkungan SKIP_BUILD = 1 untuk mencegah paket Anda dari membangun dan dependensi Anda akan dibangun dengan baik
sumber