web-dev-qa-db-fra.com

Comment mettre à niveau node.js sur Windows?

J'ai déjà Node.js v0.8.0 sous Windows. Puis-je exécuter le dernier programme d'installation pour le mettre à niveau vers la version 0.8.4? Je crains que cela ne casse les modules tiers existants sur ma machine.

57
powerboy

Oui, vous venez d'installer la dernière version. En règle générale, vous ne devriez pas avoir de problèmes de compatibilité si vous utilisez déjà la même version majeure (par exemple, la version 0.8.x). Si des modifications vous inquiètent, vous pouvez toujours consulter le journal des modifications pour chaque version (le lien vers le journal des modifications est disponible sur la page de téléchargement de node.js à l'adresse nodejs.org). Cela devrait vous informer de tout changement important (par exemple, modifications de l'API, etc.). 

43
Benjen

Pour mémoire, je viens de suivre le processus et il est indolore même si vous effectuez une mise à niveau vers une autre version majeure.

Je suis passé de 0,8 à 0,10, en utilisant le package .msi, en remplaçant celui installé sur mon système. Les problèmes de paquets ont tous été résolus avec npm update -g. Travaillé comme un charme.

Si cela ne fonctionne pas comme un charme:

npm cache clean résout généralement le problème. Une fois que le cache est vide, exécutez à nouveau npm update -g.

Au cas où vous auriez vraiment des ennuis:

Supprimez les modules que vous avez installés globalement, puis réinstallez-les. Voici comment:

  • Faites le point sur ce que vous avez: npm list -g --depth=0 répertorie tous les packages de niveau supérieur, avec les numéros de version. npm list -g --parseable --depth=0 > npm-global-modules.txt les écrit dans un fichier dans votre cwd. 

    Tous les éléments étranges que vous n'avez pas installés vous-même ont probablement été installés par un autre module (rare, mais je l'ai déjà vu se produire). Supprimez ces modules de la liste. Supprimez également le module "npm".

  • Dans un éditeur, formatez le résultat de la ligne de commande en remplaçant \n?[^\n]+[\\/] (regex) par un seul espace. 

    (Je n'ai pas réussi à faire fonctionner ceci avec findstr dans un tuyau, d'où l'aller-retour vers l'éditeur. Vous pouvez aussi le faire manuellement, bien sûr;)

  • Supprimer tous les modules. Sous Windows, supprimez (ou renommez) le répertoire %appdata%\npm. Pour les autres systèmes d’exploitation, voir Commande permettant de supprimer tous les modules npm de manière globale?

  • Réinstallez les modules avec npm install -g [your module list here]. N'oubliez pas de npm cache clean avant de le faire.

38
hashchange

Je n'ai pas d'expérience avec node sous Windows, mais je viens de mettre à niveau node et les modules sur mon Mac. Il ne s'agit donc que d'une réponse générale:

Si vous installez la version 0.8, vous risquez de casser vos modules de nœud existants, s'ils utilisent des fonctions obsolètes, etc. Le problème est que npm vérifie uniquement votre version de nœud lors de l'installation des modules, pas au moment de l'exécution.

Pour plus de sécurité, vous devez rechercher le dossier global node_modules sur votre ordinateur, le sauvegarder quelque part, puis supprimer et réinstaller les modules. Vous devrez faire la même chose pour les dossiers node_modules dans les applications que vous utilisez. (En supposant que vous ayez des fichiers package.json, leur réinstallation devrait être facile.)

En pratique, je ne pense pas que les modules que j'utilisais soient réellement incompatibles. Bonne chance.

2
rdrey

Oui. Vous pouvez mettre à niveau votre version de node.js vers la version la plus récente en exécutant le programme d'installation pour la dernière version de node.js à l'adresse https://nodejs.org/en/ . J'ai mis à jour le mien de 4.4.4 à 8.11.2 en exécutant le programme d'installation. 

1

Sauf si vous utilisez un module qui repose sur un bogue réel présent dans la version 0.8.0 et corrigé par la version 0.8.4, vous êtes d'accord. Aucune modification d'API n'a été apportée entre ces deux versions (et l'équipe de nœuds est trop intelligente pour introduire ces modifications dans une version mineure).

1
ebohlman

En train de passer à 4.4. *. Je venais d'utiliser un installateur à partir du site Web nodejs.org et tout mis à niveau fonctionne parfaitement.

1
Dnaiel Rodas

Il suffit d'aller sur le site nodejs & le télécharger. Vous pouvez l'installer directement sans aucune hésitation. Si vous dépendez d'une version antérieure, vérifiez les journaux de modifications.

1
Jitendra Pawar

Le meilleur moyen d'installer un noeud sur Windows consiste à utiliser nvm-windows , afin de pouvoir basculer rapidement d'une version à l'autre si vous en avez besoin. Ceci est analogue à la meilleure façon d’installer node sur linux et max, c’est-à-dire avec nvm .

Mais Benjen a raison (comment pourrait-il ne pas être avec toute son expérience de dépistage), vous pouvez simplement installer une version différente de node et votre version sera mise à jour. Vos dépendances npm devront peut-être être réinstallées et toute extension non gérée par npm devra peut-être être recompilée, mais cela sera vrai quelle que soit la façon dont vous modifiez la version de votre noeud.

0
B T