Nodo actualizar un paquete específico

187

Quiero actualizar mi sincronización de navegador sin actualizar todos mis paquetes de nodos . ¿Cómo puedo conseguir esto? Mi versión actual de Browser-sync no tiene la GUI de Browser-sync :(

├─┬ browser-sync@1.9.2
 ├── browser-sync-client@1.0.2
Samuel
fuente
55
npm install browser-sync@latesttal vez. debería
sobreescribirlo

Respuestas:

290

La mayoría de las veces puede simplemente actualizar npm (o actualizar hilo ) un módulo para obtener los últimos cambios sin interrupciones (respetando la semver especificada en su package.json) (<- lea esa última parte nuevamente).

npm update browser-sync
-------
yarn upgrade browser-sync
  • Use npm|yarn outdatedpara ver qué módulos tienen versiones más nuevas
  • Use npm update|yarn upgrade(sin un nombre de paquete) para actualizar todos los módulos
  • Incluya --save-dev|--devsi desea guardar los números de versión más nuevos en su package.json. (NOTA: a partir de npm v5.0 esto solo es necesario para devDependencies).

Principales actualizaciones de versión:

En su caso, parece que quiere la próxima versión principal (v2.xx), que probablemente tenga cambios importantes y deberá actualizar su aplicación para acomodar esos cambios. Puede instalar / guardar lo último 2.x.xhaciendo:

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

... o lo último 2.1.xhaciendo:

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

... o lo último y mejor haciendo:

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

Nota: el último no es diferente a hacer esto:

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

La --save-devparte es importante. Esto lo desinstalará, eliminará el valor de su package.json y luego reinstalará la última versión y guardará el nuevo valor en su package.json.

Ryan Wheale
fuente
1
npm update browser-sync --save-devTambién funcionaría para actualizar a la versión principal y guardar el paquete-lock.json (si existe, por supuesto).
Wildhoney
55
@Wildhoney - Estoy respetuosamente en desacuerdo con usted (principalmente) - npm updateinstalará la última versión de semver . La única forma de actualizar a la próxima versión principal es hacerlo explícitamente como lo describí anteriormente. Si nunca instaló un paquete e intenta actualizarlo / guardarlo, instalará la última versión, pero eso no es muy común. También existe el semver que rara vez se usa para especificar la última versión principal , se vería así en su paquete. Json: browser-sync: '*'O browser-sync: 'x', pero NO recomiendo hacerlo.
Ryan Wheale
1
@RyanWheale, tenga en cuenta que dado que [email protected] --save-devno es necesario, porque se guardará en package.json automáticamente ( docs.npmjs.com/cli/update )
lakesare
@lakesare en realidad a partir de [email protected] el valor predeterminado es --save, no --save-dev. Aún necesita especificar --save-dev si desea crear una dependencia solo para desarrolladores.
Joshua Harris
2
npm install some-package @ latest --save-dev funcionó para mí. Gracias.
ashilon
3

Use npm outdated para ver la versión actual y la última de todos los paquetes.


Luego, npm i packageName@versionNumberpara instalar una versión específica: ejemplo npm i [email protected] .

O npm i packageName@latestpara instalar la última versión: ejemplo npm i browser-sync@latest .

Qui-Gon Jinn
fuente
-2

Siempre puedes hacerlo manualmente. Esos son los pasos:

  • Vaya a la página del paquete NPM y busque el enlace de GitHub.
  • Ahora descargue la última versión usando el enlace de descarga de GitHub, o clonando. git clone github_url
  • Copie el paquete a su node_modulescarpeta, por ejemplonode_modules/browser-sync

Ahora debería funcionar para ti. Para asegurarse de que no se romperá en el futuro cuando lo haga npm i, continúe con los siguientes dos pasos:

  • Verifique la versión del nuevo paquete leyendo el package.jsonarchivo en su carpeta.
  • Abra su proyecto package.jsony configure la misma versión para donde aparece en la dependenciesparte de supackage.json

Si bien no se recomienda hacerlo manualmente. A veces es bueno entender cómo funcionan las cosas debajo del capó, para poder arreglar las cosas. Me encontré haciéndolo de vez en cuando.

Aminadav Glickshtein
fuente