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-optional
opção.
Esta seção de perguntas e respostas do SO intitulada: npm install
instala 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-installed
comutador. Mas os documentos não fazem nenhuma referência a essa opção.
Se você está desenvolvendo isso node_module
sozinho, não perca tempo com npm install
s, 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_module
pasta.src/my_app
npm link my_module
. Isso vincula node_modules/my_module
esse projeto em particular à pasta global, de modo que as require
chamadas que procuram my_module
acabam 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-package
ou algo assim.