Nó atualiza um pacote específico

187

Desejo atualizar a sincronização do navegador sem atualizar todos os meus pacotes de nós . Como posso conseguir isso? Minha versão atual do Browser-sync não tem a GUI do Browser-sync :(

├─┬ browser-sync@1.9.2
 ├── browser-sync-client@1.0.2
Samuel
fonte
4
npm install browser-sync@latesttalvez. deve over-escrevê-lo com o mais recente (fixação presumivelmente qualquer quebrantamento?)
rlemon

Respostas:

290

Na maioria das vezes, você pode apenas atualizar o npm (ou atualizar o yarn ) de um módulo para obter as alterações mais recentes sem interrupções (respeitando o semver especificado em seu package.json) (<- leia a última parte novamente).

npm update browser-sync
-------
yarn upgrade browser-sync
  • Use npm|yarn outdatedpara ver quais módulos têm versões mais recentes
  • Use npm update|yarn upgrade(sem o nome do pacote) para atualizar todos os módulos
  • Inclua --save-dev|--devse você deseja salvar os números de versão mais recentes no seu package.json. (NOTA: a partir da npm v5.0, isso é necessário apenas devDependencies).

Atualizações de versão principais:

No seu caso, parece que você deseja a próxima versão principal (v2.xx), que provavelmente terá alterações recentes e será necessário atualizar o aplicativo para acomodar essas alterações. Você pode instalar / salvar o mais recente 2.x.xfazendo:

npm install browser-sync@2 --save-dev
-------
yarn add browser-sync@2 --dev

... ou o mais recente 2.1.x, fazendo:

npm install browser-sync@2.1 --save-dev
-------
yarn add browser-sync@2.1 --dev

... ou o melhor e mais recente , fazendo:

npm install browser-sync@latest --save-dev
-------
yarn add browser-sync@latest --dev

Nota: o último não é diferente de fazer isso:

npm uninstall browser-sync --save-dev
npm install browser-sync --save-dev
-------
yarn remove browser-sync --dev
yarn add browser-sync --dev

A --save-devparte é importante. Isso irá desinstalá-lo, remover o valor do seu package.json e, em seguida, reinstalar a versão mais recente e salvar o novo valor no seu package.json.

Ryan Wheale
fonte
1
npm update browser-sync --save-devtambém funcionaria para atualizar para a versão principal e salvar o package-lock.json (se existir, é claro).
Wildhoney
5
@Wildhoney - eu respeitosamente discordo de você (principalmente) - npm updateinstalará o mais recente respectivo de sempre . A única maneira de atualizar para a próxima versão principal é fazê-lo explicitamente, como descrevi acima. Se você nunca instalou um pacote e tenta atualizá-lo / salvá-lo, ele instalará a versão mais recente, mas isso não é muito comum. Também existe o semver raramente usado para especificar a versão principal mais recente - ficaria assim em seu package.json: browser-sync: '*'OR browser-sync: 'x'- mas eu NÃO recomendo fazer isso.
Ryan Wheale
1
@RyanWheale, observe que, uma vez que [email protected] --save-devnão é necessário, porque ele será salvo no package.json automaticamente ( docs.npmjs.com/cli/update )
lakesare
@lakesare, na verdade, a partir de [email protected], o padrão é --save, não --save-dev. Você ainda precisa especificar --save-dev se quiser criar uma dependência somente para desenvolvedores.
Joshua Harris
2
O npm install some-package @ latest --save-dev funcionou para mim. Obrigado.
ashilon
3

Use npm outdated para ver a versão atual e a mais recente de todos os pacotes.


Em seguida, npm i packageName@versionNumberpara instalar uma versão específica: exemplo npm i [email protected] .

Ou npm i packageName@latestpara instalar a versão mais recente: exemplo npm i browser-sync@latest .

Qui-Gon Jinn
fonte
-2

Sempre você pode fazer isso manualmente. Essas são as etapas:

  • Vá para a página do pacote NPM e procure o link do GitHub.
  • Agora baixe a versão mais recente usando o link de download do GitHub ou clonando. git clone github_url
  • Copie o pacote para sua node_modulespasta, por exemplonode_modules/browser-sync

Agora deve funcionar para você. Para garantir que isso não ocorra no futuro npm i, continue com as duas etapas seguintes:

  • Verifique a versão do novo pacote lendo o package.jsonarquivo em sua pasta.
  • Abra seu projeto package.jsone defina a mesma versão para onde ele aparece na dependenciesparte do seupackage.json

Embora não seja recomendado fazê-lo manualmente. Às vezes, é bom entender como as coisas estão funcionando sob o capô, para poder consertar as coisas. Eu me vi fazendo isso de vez em quando.

Aminadav Glickshtein
fonte