Existe uma opção para instalar um pacote npm sem dependências?

Existe uma opção para instalar um pacote npm sem dependências?

Estou tentando modificar um pacote npm com múltiplas dependências. Como tal, npm install -g .leva muito tempo para ser executado. Tenho outras opções além de remover as dependências de packages.json?

Responder1

--não-opcionalopção agora está implementada de acordo com esta documentaçãohttps://docs.npmjs.com/cli/install:

The --no-optional argument will prevent optional dependencies from being installed.

Responder2

Se você estiver desenvolvendo isso node_modulesozinho, não perca tempo com npm installs, em vez disso use npm link.

Resumindo, você cria um link simbólico para a pasta do seu módulo em uma pasta global de propriedade do npm e, em seguida, na pasta do seu aplicativo você pede 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 em seu aplicativo.

Aqui estão as etapas principais (copiadas do tutorial com link abaixo, certifique-se de ler o tutorial para dicas importantes):

  1. cd parasrc/my_module
  2. Correr " npm link". Isto cria um link simbólico de uma pasta global para a src/my_modulepasta.
  3. cd parasrc/my_app
  4. Correr npm link my_module. Isso vincula node_modules/my_moduleeste projeto específico à pasta global, para que requireas chamadas que procuram my_moduleacabem sendo carregadas da sua pasta de desenvolvimento, src/my_module.

Veja 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

Responder3

Este recurso foi solicitado em 2010, mas infelizmente foi ignorado e encerrado:https://github.com/npm/npm/issues/340

Eu tentei várias opções e finalmente encontrei uma solução bastante simples - renomeie package.json para outra coisa antes de fazer a instalação do npm e, em seguida, reverta-o para após o término da instalação:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json

Responder4

Olhando atravésos documentosnão parece ter uma opção além do --no-optionalswitch.

Não testado/não confirmado

Este SO Q&A intitulado:npm installinstala todas as dependências do meu projeto pela rede, mesmo que já estejam instaladas ou disponíveis no cacheparece implicar que há uma --skip-installedmudança. Mas os documentos não fazem nenhuma referência a essa mudança.

informação relacionada