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

20

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?

Justin Dearing
fonte

Respostas:

18

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.
jurevert
fonte
7

Examinando os documentos , parece que não há uma opção além da --no-optionalopção.

Não testado / não confirmado

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.

slm
fonte
7

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):

  1. cd para src/my_module
  2. Execute " npm link". Isso cria um link simbólico de uma pasta global para a src/my_modulepasta.
  3. cd para src/my_app
  4. Corra npm 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

marmor
fonte
Não alterando minha resposta aceita, mas votando porque isso é útil para o meu caso específico.
Justin Dearing
4

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
Vitaliy Ulantikov
fonte
2
Uau, isso ainda é seriamente o único caminho? Isso é ridículo, deve haver uma bandeira --ignore-packageou algo assim.
12138 JacobTheDev
2
Esta solução é boa e, até o momento, pode ser a melhor solução para minha pergunta: stackoverflow.com/questions/53532845/…
aGuegu