Estou tentando modificar um pacote npm com várias dependências. Como tal, npm install -g .leva muito tempo para executar. Tenho outras opções além de remover as dependências do packages.json?
Estou tentando modificar um pacote npm com várias dependências. Como tal, npm install -g .leva muito tempo para executar. Tenho outras opções além de remover as dependências do packages.json?
Respostas:
A opção --no-opcional agora está implementada de acordo com esta documentação https://docs.npmjs.com/cli/install :
The --no-optional argument will prevent optional dependencies from being installed.
Examinando os documentos , parece que não há uma opção além da --no-optionalopção.
Esta seção de perguntas e respostas do SO intitulada: npm installinstala todas as dependências do meu projeto pela rede, mesmo que elas já estejam instaladas ou disponíveis no cache , parece implicar a existência de um --skip-installedcomutador. Mas os documentos não fazem nenhuma referência a essa opção.
Se você está desenvolvendo isso node_modulesozinho, não perca tempo com npm installs, use npm link.
Em resumo, você cria um link simbólico para a pasta do módulo em uma pasta global de propriedade do npm e, em seguida, na pasta do aplicativo, você solicita ao npm para usar essa pasta vinculada simbólica.
Isso faz com que as alterações feitas na pasta do módulo sejam refletidas imediatamente no seu aplicativo.
Aqui estão as etapas principais (copiadas do tutorial vinculado abaixo, leia o tutorial para obter dicas importantes):
src/my_module npm link". Isso cria um link simbólico de uma pasta global para a src/my_modulepasta.src/my_appnpm link my_module. Isso vincula node_modules/my_moduleesse projeto em particular à pasta global, de modo que as requirechamadas que procuram my_moduleacabam sendo carregadas da sua pasta de desenvolvimento
src/my_module,.Consulte este tutorial: http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears
E os documentos oficiais para npm link: https://docs.npmjs.com/cli/link
Esse recurso foi solicitado em 2010, mas infelizmente foi ignorado e fechado: https://github.com/npm/npm/issues/340
Tentei várias opções e finalmente encontrei uma solução bastante simples - renomeie o package.json para outra coisa antes da instalação do doint npm e, em seguida, reverta-a novamente após a conclusão da instalação:
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
--ignore-packageou algo assim.