Tengo un proyecto que usa node.js 14.16.0. Tanto yo como mi miembro del equipo usamos esa versión. Yo uso npm 6.14.11 y mi miembro del equipo usa npm 7.xx. Esto da como resultado que el paquete-lock.json sea diferente; la propiedad lockFileVersion
es 1 en mi PC pero 2 en la de ellos.
Ya uso nvm
y estoy considerando agregar un .nvmrc
para que todos usen siempre la misma versión de nodo, pero esto no soluciona el problema de la versión de npm.
Creo que es una buena idea usar la versión npm que proporciona la versión instalada de node.js. Si el próximo gran lanzamiento de LTS usa una nueva versión de npm, el proyecto cambiará a esa. Pero en el sitio de NPM dicen:
npm es un proyecto separado de Node.js y tiende a actualizarse con más frecuencia. Como resultado, incluso si acaba de descargar Node.js (y, por lo tanto, npm), probablemente necesite actualizar su npm. Afortunadamente, npm sabe cómo actualizarse.
Lo que me hace creer que siempre debo actualizar.
Pero también dicen:
¡Node.js tiene muchas versiones! Para usar Node.js y, por lo tanto, npm, de manera efectiva, querrá asegurarse de tener una versión compatible con el equipo de Node.js. En general, debe usar la versión de Node.js etiquetada como "LTS".
Lo que me hace creer que no debería actualizar y solo usar el que proporciona node.js.
cual es la mejor practica?
npm tiene un concepto de LTS. De hecho, etiquetan una versión lts
para que pueda npm install -g npm@lts
y obtener la última versión de lts, que en el momento de escribir este artículo es 7.6.3.
npm seguirá siendo compatible con cualquier versión principal de npm siempre que se envíe con una versión de nodo que aún sea compatible. Por lo tanto, admitirán npm@6 hasta que 14 finalice el ciclo de vida porque npm@6 se envió con la versión 14.
Dicho esto, npm@7 es la versión actual de npm y también será compatible con 14 mientras sea compatible con 14.
En caso de duda, use npm@lts
(que es la versión 7 a partir de este escrito). Sin embargo, si realmente no le importa ni lo uno ni lo otro y no quiere obligar a su compañero de trabajo a actualizar, npm@6
seguirá recibiendo actualizaciones siempre que se admita Node.js 14. Sin embargo, recomendaría actualizar a la última npm@6
con npm install -g npm@6
. Cualquiera de las versiones ( npm@6
o npm@7
) debería funcionar bien. Solo necesita elegir uno con su compañero de trabajo para evitar el abandono package-lock.json
(o no preocuparse por el abandono de lockfile).