THX. É exatamente disso que eu preciso. Onde posso encontrar essas opções? Isso não está descrito em 'npm help install', 'npm help config' e 'npm help scripts'.
Cuidado! A opção --ignore-scriptsdesativa TODOS os scripts - mesmo de suas dependências. Se suas dependências precisarem executar scripts para, por exemplo, instalar alguns binários, elas podem ser interrompidas / incompletas.
delbertooo
7
Então, existe uma técnica para instalar node_modules (e todos os seus scripts), mas ignorar apenas os scripts do pacote principal?
Derrick
3
Não apenas isso, mas --ignore-scriptsa opção de configuração associada (que eu defino globalmente) também significará que npm run startsilenciosamente nada fará e relatará sucesso. Surpreender.
Ash Berlin-Taylor
21
Você também pode ativar as configurações no arquivo de configuração npm.
npm config set ignore-scripts true
Nota: Isso desativará os scripts para todos os pacotes NPM.
Para fazer isso em sua própria biblioteca, recomendo algo simples como:
#!/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
Obrigado! Isso funciona muito bem se você está apenas tentando desativar seu próprio script, mas não TODOS os scripts em todas as dependências.
Brian Neisler
@BrianNeisler é muito bem-vindo, sempre se sente bem em ajudar outras pessoas. A propósito, acho que colchetes duplos [[]] podem ser melhores que colchetes simples para a maioria dos casos de uso, não tenho certeza.
Alexander Mills
2
Queria desabilitar o script pós-instalação para o meu projeto, mas queria que todos os scripts das dependências do meu projeto fossem executados quando o fiz npm install. Foi isso que acabei fazendo.
Respostas:
Não é possível desativar apenas
postinstall
scripts. No entanto, você pode desativar todos os scripts usando:Como delbertooo mencionado nos comentários, isso também desabilita os scripts das dependências.
fonte
--ignore-scripts
desativa TODOS os scripts - mesmo de suas dependências. Se suas dependências precisarem executar scripts para, por exemplo, instalar alguns binários, elas podem ser interrompidas / incompletas.--ignore-scripts
a opção de configuração associada (que eu defino globalmente) também significará quenpm run start
silenciosamente nada fará e relatará sucesso. Surpreender.Você também pode ativar as configurações no arquivo de configuração npm.
npm config set ignore-scripts true
Nota: Isso desativará os scripts para todos os pacotes NPM.
fonte
Para fazer isso em sua própria biblioteca, recomendo algo simples como:
instale seu npm com:
fonte
Queria desabilitar o script pós-instalação para o meu projeto, mas queria que todos os scripts das dependências do meu projeto fossem executados quando o fiz
npm install
. Foi isso que acabei fazendo../scripts/skip.js
agora apenas defina a variável de ambiente SKIP_BUILD = 1 para impedir a criação do seu pacote e suas dependências criarão muito bem
fonte