Remplissez ce formulaire pour donner votre avis et vous inscrire pour recevoir les mises à jour des progrès.
Les mises à jour seront également publiées sur la page LinkedIn Author Software.
Le gestionnaire de versions Node.js recommandé par Microsoft/npm/Google pour Windows .
Le nvm d'origine est un projet complètement distinct pour Mac/Linux uniquement. Ce projet utilise une philosophie totalement différente et n'est pas simplement un clone de nvm. Les détails sont répertoriés dans Pourquoi un autre gestionnaire de versions ? et quelle est la grande différence ?.
Vous ne pouvez pas parrainer ? Pensez à nommer @coreybutler pour une star de Github. |
Vous rencontrez des problèmes ? Consultez le wiki des problèmes courants.
Recherche de commentaires :Nous travaillons sur Runtime (rt), le successeur de NVM For Windows. Veuillez contribuer en prenant une minute pour remplir ce formulaire. Merci! |
Gérez plusieurs installations de node.js sur un ordinateur Windows.
tl;dr Similaire (pas identique) à nvm, mais pour Windows. A un installateur. Téléchargez maintenant !
Cela a toujours été un gestionnaire de versions de nœuds, pas un gestionnaire io.js, il n'y a donc pas de support arrière pour io.js. Le nœud 4+ est pris en charge. N'oubliez pas que lors de l'exécution nvm install
ou nvm use
, Windows nécessite généralement des droits d'administrateur (pour créer des liens symboliques). Pour installer la dernière version de Node.js, exécutez nvm install latest
. Pour installer la dernière version stable, exécutez nvm install lts
.
Il existe des situations où la possibilité de basculer entre différentes versions de Node.js peut être très utile. Par exemple, si vous souhaitez tester un module que vous développez avec la dernière version de pointe sans désinstaller la version stable de Node, cet utilitaire peut vous aider.
Le moyen le plus simple (recommandé) de faire fonctionner correctement NVM pour Windows consiste à désinstaller toute installation antérieure de Node avant d'installer NVM pour Windows. Cela évite tous les pièges énumérés ci-dessous. Cependant; vous ne souhaiterez peut-être pas détruire votre installation Node si vous l'avez hautement personnalisée. NVM pour Windows peut prendre en charge la gestion d'une installation existante, mais il existe des nuances (qui dépendent entièrement des autorisations de l'utilisateur exécutant l'installation). Si vous disposez d'un compte administrateur, il est relativement sûr d'installer NVM pour Windows avant de désinstaller la version originale de Node. Si vous travaillez dans un environnement fermé, tel qu'un environnement Active Directory d'entreprise où les installations/désinstallations sont contrôlées par une stratégie de groupe, vous devriez vraiment envisager de supprimer la version originale de Node avant d'installer NVM4W.
Problèmes d'autorisation Pour des raisons de sécurité, Windows n'autorisera pas une application d'un fournisseur à « désinstaller » une application d'un autre fournisseur. Le programme d'installation officiel de NVM4W tentera de prendre en charge la gestion d'une installation existante de Node., mais il ne pourra pas réellement désinstaller la version originale de Node.js. Pour contourner ce problème, le programme d'installation de NVM pour Windows tente de copier les fichiers d'installation Node.js d'origine à la racine de NVM. Cela inclut les modules et configurations npm globaux. Une fois ce processus terminé, l'installation originale de Node.js peut être désinstallée sans perte de données.
Problèmes d'installation de PATH Si vous tentez de configurer NVM_SYMLINK
pour utiliser un répertoire existant (comme C:Program Filesnodejs
), cela échouera car un lien symbolique ne peut pas écraser un répertoire physique. Ce n'est pas un problème si vous choisissez un chemin de lien symbolique différent (tel que C:nvmnode
).
Conflits de PATH Si vous ne désinstallez pas la version originale, l'exécution nvm use
peut sembler ne rien faire du tout. L'exécution node -v
affichera toujours la version d'installation d'origine. Cela est dû à un conflit PATH
qui se produit lorsque la même application est installée plusieurs fois. Dans NVM4W 1.1.11+, exécutez nvm debug
pour déterminer si vous avez un conflit PATH
.
Pour plus de simplicité, nous vous recommandons de désinstaller toutes les versions existantes de Node.js avant d'utiliser NVM pour Windows. Supprimez tous les répertoires d'installation Node.js existants (par exemple, %ProgramFiles%nodejs
) qui pourraient rester. Le lien symbolique généré par NVM n'écrasera pas un répertoire d'installation existant (même vide).
? Sauvegarder toute configuration npmrc
globale ? (par exemple %AppData%npmetcnpmrc
)
Vous pouvez également copier les paramètres dans la configuration utilisateur %UserProfile%.npmrc
. Supprimez l'emplacement d'installation npm existant (par exemple %AppData%npm
) pour éviter les conflits de modules globaux.
Utilisez le dernier programme d'installation (fourni avec un programme de désinstallation). Vous pouvez également suivre le guide d’installation manuelle.
Si NVM4W ne semble pas fonctionner immédiatement après l'installation, redémarrez le terminal/PowerShell (pas l'ensemble de l'ordinateur).
Après l'installation, la réinstallation des utilitaires globaux (par exemple Yarn) devra être effectuée pour chaque version installée du nœud :
nvm use 14.0.0 npm install -g yarn nvm use 12.0.1 npm install -g yarn
Depuis la version 1.1.8, il existe un utilitaire de mise à niveau qui automatisera le processus de mise à niveau.
Pour mettre à niveau nvm-windows , exécutez le nouveau programme d'installation. Il écrasera en toute sécurité les fichiers qu'il doit mettre à jour sans toucher à vos installations node.js. Assurez-vous d'utiliser le même dossier d'installation et de lien symbolique. Si vous avez initialement installé les emplacements par défaut, il vous suffit de cliquer sur « suivant » sur chaque fenêtre jusqu'à ce qu'elle soit terminée.
nvm-windows s'exécute dans un shell d'administration . Vous devrez démarrer powershell
ou l'invite de commande en tant qu'administrateur pour utiliser nvm-windows
NVM pour Windows est un outil de ligne de commande. Tapez simplement nvm
dans la console pour obtenir de l'aide. Les commandes de base sont :
nvm arch [32|64]
: Indique si le nœud s'exécute en mode 32 ou 64 bits. Spécifiez 32 ou 64 pour remplacer l'architecture par défaut.
nvm debug
: vérifiez le processus NVM4W pour les problèmes connus.
nvm current
: Afficher la version active.
nvm install
: La version peut être une version spécifique, "latest" pour la dernière version actuelle, ou "lts" pour la version LTS la plus récente. Spécifiez éventuellement si vous souhaitez installer la version 32 ou 64 bits (par défaut, arch système). Définissez [arch] sur "all" pour installer les versions 32 ET 64 bits. Ajoutez --insecure
à la fin de cette commande pour contourner la validation SSL du serveur de téléchargement distant.
nvm list [available]
: répertorie les installations de node.js. Tapez available
à la fin pour afficher une liste des versions disponibles en téléchargement.
nvm on
: Activez la gestion des versions de node.js.
nvm off
: Désactive la gestion des versions de node.js (ne désinstalle rien).
nvm proxy [url]
: définissez un proxy à utiliser pour les téléchargements. Laissez [url]
vide pour voir le proxy actuel. Définissez [url]
sur "aucun" pour supprimer le proxy.
nvm uninstall
: Désinstallez une version spécifique.
nvm use
: Basculez pour utiliser la version spécifiée. Utilisez éventuellement latest
, lts
ou newest
. newest
est la dernière version installée . Spécifiez éventuellement une architecture 32/64 bits. nvm use
continuera à utiliser la version sélectionnée, mais passera en mode 32/64 bits. Pour plus d'informations sur l'utilisation use
dans un répertoire spécifique (ou sur l'utilisation de .nvmrc
), veuillez vous référer au numéro 16.
nvm root
: définissez le répertoire dans lequel nvm doit stocker différentes versions de node.js. Si
n'est pas défini, la racine actuelle sera affichée.
nvm version
: affiche la version actuelle en cours d'exécution de NVM pour Windows.
nvm node_mirror
: définissez le miroir du nœud. Les personnes en Chine peuvent utiliser https://npmmirror.com/mirrors/node/
nvm npm_mirror
: définissez le miroir npm. Les gens en Chine peuvent utiliser https://npmmirror.com/mirrors/npm/
Veuillez noter que les modules npm globaux que vous avez éventuellement installés ne sont pas partagés entre les différentes versions de node.js que vous avez installées. De plus, certains modules npm peuvent ne pas être pris en charge dans la version du nœud que vous utilisez, alors soyez conscient de votre environnement lorsque vous travaillez.
Les utilisateurs ont signalé des problèmes lors de l'utilisation d'un antivirus, en particulier de McAfee. Il semble que le logiciel antivirus manipule l'accès au moteur VBScript. Voir le numéro 133 pour plus de détails et de résolution.
La v1.1.8 n'est pas signée par code , mais toutes les autres versions sont signées par Ecor Ventures LLC/Author.io. Cela devrait aider à éviter les faux positifs avec la plupart des logiciels antivirus.
La v1.1.8+ n'a pas été signée en raison d'un certificat expiré (voir les notes de version pour les raisons). La v1.1.9 est un code signé grâce à ajyong, qui a sponsorisé le nouveau certificat.
tldr; npm i -g yarn
Voir le wiki pour plus de détails.
Installez à partir de http://golang.org
Télécharger la source / Git Cloner le dépôt
Remplacez GOARCH par amd64 dans build.bat si vous avez envie de créer un exécutable 64 bits
Lancez une invite de commande Windows et changez le répertoire en répertoire du projet
Exécutez go get github.com/blang/semver
Exécutez go get github.com/olekukonko/tablewriter
Exécutez build.bat
Vérifiez le répertoire dist
pour le programme d'installation généré.
Il existe plusieurs gestionnaires de versions pour node.js. Des outils comme nvm et n ne fonctionnent que sur Mac OSX et Linux. Les utilisateurs de Windows sont laissés pour compte ? Non, nvmw et nodist sont tous deux conçus pour Windows. Alors pourquoi un autre gestionnaire de versions pour Windows ?
L'architecture de la plupart des gestionnaires de versions de nœuds pour Windows repose sur des fichiers .bat
, qui proposent des astuces astucieuses pour définir ou imiter des variables d'environnement. Certains d'entre eux utilisent le nœud lui-même (une fois téléchargé), ce qui est admirable, mais sujet à des problèmes. Juste autour du nœud 0.10.30, la structure d'installation a un peu changé, ce qui a amené certains d'entre eux à cesser de fonctionner avec quoi que ce soit de nouveau.
De plus, certains utilisateurs ont du mal à installer ces modules car cela nécessite un peu plus de connaissances sur la structure d'installation du nœud. Je pense que s'il était plus facile pour les gens de basculer entre les versions, ils pourraient prendre le temps de tester leur code sur les versions antérieures et futures... ce qui n'est qu'une bonne pratique.
Tout d'abord, cette version de nvm n'a aucune dépendance vis-à-vis du nœud. Il est écrit en Go, ce qui constitue une approche beaucoup plus structurée que le piratage d'un fichier .bat
limité. Il ne repose pas sur l’installation d’un nœud existant. Go offre la possibilité de créer une version Mac/Linux sur la même base de code. En fait, cela est déjà en cours.
Le mécanisme de contrôle est également très différent. Il existe deux manières générales de prendre en charge les installations à plusieurs nœuds avec des capacités de commutation à chaud. La première consiste à modifier le PATH
du système à chaque fois que vous changez de version, ou à le contourner en utilisant un fichier .bat
pour imiter l'exécutable du nœud et le rediriger en conséquence. Cela m'a toujours semblé un peu hackish, et cette implémentation présente quelques bizarreries.
La deuxième option consiste à utiliser un lien symbolique. Ce concept nécessite de placer le lien symbolique dans le système PATH
, puis de mettre à jour sa cible vers le répertoire d'installation du nœud que vous souhaitez utiliser. Il s'agit d'une approche simple, et semble être ce que les gens recommandent... jusqu'à ce qu'ils réalisent à quel point les liens symboliques sont pénibles sous Windows. C'est pourquoi cela ne s'est jamais produit auparavant.
Pour créer/modifier un lien symbolique, vous devez être exécuté en tant qu'administrateur et vous devez contourner Windows UAC (cette invite ennuyeuse). Heureusement, c'est un défi que j'ai déjà résolu avec quelques scripts d'aide dans les fenêtres de nœuds. Par conséquent, NVM pour Windows conserve un seul lien symbolique qui est placé dans le PATH
système lors de l'installation uniquement. Le passage à différentes versions du nœud consiste à changer la cible du lien symbolique. Par conséquent, cet utilitaire ne vous oblige pas à exécuter nvm use xxx
chaque fois que vous ouvrez une fenêtre de console. Lorsque vous exécutez nvm use xxx
, la version active du nœud est automatiquement mise à jour dans toutes les fenêtres de console ouvertes. Il persiste également entre les redémarrages du système, vous n'avez donc besoin d'utiliser nvm que lorsque vous souhaitez apporter une modification.
NVM pour Windows est livré avec un programme d'installation, gracieuseté d'un sous-produit de mon travail sur Fenix Web Server.
Dans l'ensemble, ce projet rassemble quelques idées, quelques éléments d'autres modules aguerris et la prise en charge des versions plus récentes de Node.
NVM pour Windows reconnaît les « dernières » versions à l'aide d'une liste fournie par le projet Node. La version 1.1.1+ utilise cette liste. Avant que cette liste n’existe, je récupérais les versions et la servais comme flux de données autonome. Cette liste était utilisée dans les versions 1.1.0 et antérieures, mais est désormais obsolète.
J’en avais besoin, purement et simplement. De plus, il est évident que la prise en charge de plusieurs versions n'est pas disponible dans le noyau du nœud. C'était aussi une excuse pour jouer au Go.
J'ai choisi Go parce qu'il est multiplateforme, semble moins coûteux que Java et existe depuis plus longtemps que la plupart des gens ne le pensent. De plus, je voulais l'expérimenter. On m'a demandé pourquoi je ne l'avais pas écrit avec Node. Essayer d'écrire un outil avec l'outil que vous essayez d'installer n'a pas de sens pour moi. En conséquence, les exigences de mon projet étaient simples... quelque chose qui n'est pas Node. Node continuera d’évoluer et de changer. Si vous avez besoin d'un rappel, souvenez-vous de io.js, Ayo, de tous les changements majeurs entre 4.xx et 6.xx, et du passage aux modules ES dans 12+. Le changement est inévitable dans le monde du logiciel. JavaScript est extrêmement dynamique.
Merci à tous ceux qui ont soumis des problèmes sur et hors de Github, ont fait des suggestions et ont généralement contribué à faire de ce projet un meilleur projet. Un merci spécial à
@vkbansal, qui a fourni des commentaires précoces importants tout au long des premières versions.
@rainabba et @sullivanpt pour avoir intégré la prise en charge de Node v4.
@shadow qui a résolu le problème de longue date d'échappement d'espace dans les noms de chemin (#355).
ajyong qui a parrainé le certificat de signature de code fin 2021.