Dzięki. Właśnie tego potrzebuję. Gdzie mogę znaleźć takie opcje? Nie jest to opisane w sekcjach „npm help install”, „npm help config” i „npm help scripts”.
Uwaga! Opcja --ignore-scriptswyłącza WSZYSTKIE skrypty - nawet z twoich zależności. Jeśli twoje zależności muszą uruchamiać skrypty, aby np. Zainstalować jakieś pliki binarne, mogą się zepsuć / być niekompletne.
delbertooo
7
Czy istnieje więc technika instalowania modułów node_modules (i wszystkich ich skryptów), ale ignorowania tylko skryptów głównego pakietu?
Derrick
3
Nie tylko to, ale --ignore-scriptslub powiązana opcja konfiguracji (którą ustawiłem globalnie) będzie również oznaczać, że npm run startpo cichu nic nie zrobi i zgłosi sukces. Zadziwiać.
Ash Berlin-Taylor
21
Możesz również włączyć ustawienia w pliku konfiguracyjnym npm.
npm config set ignore-scripts true
Uwaga: spowoduje to wyłączenie skryptów dla wszystkich pakietów NPM.
Aby zrobić to dla własnej biblioteki, polecam coś prostego, na przykład:
#!/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
Dzięki! Działa to świetnie, jeśli próbujesz tylko wyłączyć własny skrypt, ale nie WSZYSTKIE skrypty we wszystkich zależnościach.
Brian Neisler
@BrianNeisler bardzo mile widziany, zawsze dobrze jest pomagać innym ludziom. Nawiasem mówiąc, myślę, że podwójne nawiasy [[]] mogą być lepsze niż pojedyncze nawiasy w większości przypadków użycia, ale nie jestem pewien.
Alexander Mills,
2
Chciałem wyłączyć skrypt poinstalacyjny dla mojego projektu, ale chciałem, aby wszystkie skrypty zależności mojego projektu działały, gdy to zrobię npm install. Oto, co ostatecznie zrobiłem.
Odpowiedzi:
Nie można wyłączyć tylko
postinstall
skryptów. Możesz jednak wyłączyć wszystkie skrypty za pomocą:Jak wspomniał delbertooo w komentarzach, powoduje to również wyłączenie skryptów zależności.
źródło
--ignore-scripts
wyłącza WSZYSTKIE skrypty - nawet z twoich zależności. Jeśli twoje zależności muszą uruchamiać skrypty, aby np. Zainstalować jakieś pliki binarne, mogą się zepsuć / być niekompletne.--ignore-scripts
lub powiązana opcja konfiguracji (którą ustawiłem globalnie) będzie również oznaczać, żenpm run start
po cichu nic nie zrobi i zgłosi sukces. Zadziwiać.Możesz również włączyć ustawienia w pliku konfiguracyjnym npm.
npm config set ignore-scripts true
Uwaga: spowoduje to wyłączenie skryptów dla wszystkich pakietów NPM.
źródło
Aby zrobić to dla własnej biblioteki, polecam coś prostego, na przykład:
następnie wykonaj instalację npm za pomocą:
źródło
Chciałem wyłączyć skrypt poinstalacyjny dla mojego projektu, ale chciałem, aby wszystkie skrypty zależności mojego projektu działały, gdy to zrobię
npm install
. Oto, co ostatecznie zrobiłem../scripts/skip.js
teraz po prostu ustaw zmienną środowiskową SKIP_BUILD = 1, aby zapobiec budowaniu pakietu, a twoje zależności będą się budować dobrze
źródło