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?

Respostas:




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


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.