How to update a published NPM package
If you want to update a dependency…
You may be able to run npm install and it will update the latest version, if the package.json file uses caret syntax.
For example, consider the following dependency configuration:
- {
- "dependencies": {
- "some_module": "^1.0.0"
- }
- }
Simplesmente rodando npm install pode atualizar para a versão mais recente. Depende da versão do npm que você tiver. Entretanto; em versões mais recentes do npm, ele lerá o arquivo do pacote e só atualizará se o módulo já atender aos requisitos. Por exemplo, finja que a última versão é a 1.5.0. Se você rodar npm install em um projeto novo sem o diretório node_modules, ele instalará a versão 1.5.0, Entretanto; quando a versão 1.6.0 sair, você pode pensar "Eu só vou rodar npm install novamente". Isto não vai necessariamente funcionar porque você já instalou a versão 1.5.0 e ela já atende aos requisitos especificados no arquivo package.json. Se você quiser forçar pelo menos a versão 1.6.0, você precisará modificar o arquivo package.json de acordo, ou apagar o diretório node_modules e executar novamente o npm install.
Se você quiser atualizar um pacote existente que você publicou...
Você está sem sorte. Versões existentes não podem ser sobregravadas. Esta é uma diretriz estrita do npm, que é projetada para fornecer confiabilidade. Considere a idéia de que você, como usuário, rodou 1.5.0 em desenvolvimento. Tudo parece pronto para a produção. Então, você constrói em produção, mas o desenvolvedor relançou a versão 1.5.0. Agora você implantou código não testado/desconhecido em produção. Para prevenir isto, o npm não permite alterações nas versões existentes.
A volta é simples. Crie uma nova "versão". Para pequenas actualizações incrementais, você salta o número da versão menor (isto é, 1.0.x onde x é a versão menor). Para diretrizes apropriadas de versionamento npm, veja Semantic Versioning 2.0.0.
npm tem um comando helper para fazer isso. Veja npm-version | npm Documentação para detalhes.