Complete este formulario para compartir su opinión y registrarse para recibir actualizaciones de progreso.
Las actualizaciones también se publicarán en la página de LinkedIn de Author Software.
Microsoft/npm/Google recomendó el administrador de versiones de Node.js para Windows .
El nvm original es un proyecto completamente separado solo para Mac/Linux. Este proyecto utiliza una filosofía completamente diferente y no es solo un clon de nvm. Los detalles se enumeran en ¿Por qué otro administrador de versiones? y cual es la gran diferencia?.
¿No puedes patrocinar? Considere nominar a @coreybutler como estrella de Github. |
¿Tienes problemas? Consulte la wiki de problemas comunes.
Buscando comentarios:Estamos trabajando en Runtime (rt), el sucesor de NVM para Windows. Contribuya tomándose un minuto para completar este formulario. ¡Gracias! |
Administre múltiples instalaciones de node.js en una computadora con Windows.
tl;dr Similar (no idéntico) a nvm, pero para Windows. Tiene instalador. ¡Descárgalo ahora!
Este siempre ha sido un administrador de versiones de nodo, no un administrador de io.js, por lo que no hay respaldo para io.js. Se admite el nodo 4+. Recuerde que cuando ejecuta nvm install
o nvm use
, Windows generalmente requiere derechos administrativos (para crear enlaces simbólicos). Para instalar la última versión de Node.js, ejecute nvm install latest
. Para instalar la última versión estable, ejecute nvm install lts
.
Hay situaciones en las que la capacidad de cambiar entre diferentes versiones de Node.js puede resultar muy útil. Por ejemplo, si desea probar un módulo que está desarrollando con la última versión de última generación sin desinstalar la versión estable de node, esta utilidad puede ayudarlo.
La forma más sencilla (recomendada) de hacer que NVM para Windows funcione correctamente es desinstalar cualquier instalación anterior de Node antes de instalar NVM para Windows. Evita todos los errores que se enumeran a continuación. Sin embargo; Es posible que no desees destruir tu instalación de Node si la has personalizado en gran medida. NVM para Windows puede asumir la gestión de una instalación existente, pero esto tiene matices (depende completamente de los permisos del usuario que ejecuta la instalación). Si tiene una cuenta administrativa, es relativamente seguro instalar NVM para Windows antes de desinstalar la versión original de Node. Si está trabajando en un entorno cerrado, como un entorno corporativo de Active Directory donde las instalaciones/desinstalaciones están controladas por una política de grupo, debería considerar eliminar la versión original de Node antes de instalar NVM4W.
Problemas de permisos Por razones de seguridad, Windows no permitirá que una aplicación de un proveedor "desinstale" una aplicación de un proveedor diferente. El instalador oficial de NVM4W intentará asumir la administración de una instalación existente de Node., pero en realidad no puede desinstalar la versión original de Node.js. Para solucionar este problema, el instalador de NVM para Windows intenta copiar los archivos de instalación originales de Node.js a la raíz de NVM. Esto incluye módulos y configuraciones globales de npm. Una vez que se completa este proceso, la instalación original de Node.js se puede desinstalar sin perder datos.
Problemas de instalación de PATH Si intenta configurar NVM_SYMLINK
para usar un directorio existente (como C:Program Filesnodejs
), fallará porque un enlace simbólico no puede sobrescribir un directorio físico. Esto no es un problema si elige una ruta de enlace simbólica diferente (como C:nvmnode
).
Conflictos de RUTA Si no desinstala la versión original, puede parecer que ejecutar nvm use
no hace nada en absoluto. La ejecución node -v
siempre mostrará la versión de instalación original. Esto se debe a un conflicto PATH
que se presenta cuando la misma aplicación se instala varias veces. En NVM4W 1.1.11+, ejecute nvm debug
para determinar si tiene un conflicto PATH
.
Para simplificar, recomendamos desinstalar cualquier versión existente de Node.js antes de usar NVM para Windows. Elimine cualquier directorio de instalación de Node.js existente (por ejemplo, %ProgramFiles%nodejs
) que pueda quedar. El enlace simbólico generado por NVM no sobrescribirá un directorio de instalación existente (ni siquiera vacío).
? ¿Copia de seguridad de cualquier configuración global npmrc
? (por ejemplo, %AppData%npmetcnpmrc
)
Alternativamente, copie la configuración a la configuración de usuario %UserProfile%.npmrc
. Elimine la ubicación de instalación de npm existente (por ejemplo, %AppData%npm
) para evitar conflictos de módulos globales.
Utilice el instalador más reciente (viene con un desinstalador). Alternativamente, siga la guía de instalación manual.
Si NVM4W no parece funcionar inmediatamente después de la instalación, reinicie el terminal/powershell (no toda la computadora).
Después de la instalación, será necesario reinstalar las utilidades globales (por ejemplo, hilo) para cada versión instalada del nodo:
nvm use 14.0.0 npm install -g yarn nvm use 12.0.1 npm install -g yarn
A partir de la versión 1.1.8, existe una utilidad de actualización que automatizará el proceso de actualización.
Para actualizar nvm-windows , ejecute el nuevo instalador. Sobrescribirá de forma segura los archivos que necesita actualizar sin tocar sus instalaciones de node.js. Asegúrese de utilizar la misma carpeta de instalación y enlace simbólico. Si originalmente instaló en las ubicaciones predeterminadas, solo necesita hacer clic en "siguiente" en cada ventana hasta que finalice.
nvm-windows se ejecuta en un shell de administración . Deberá iniciar powershell
o el símbolo del sistema como administrador para usar nvm-windows.
NVM para Windows es una herramienta de línea de comandos. Simplemente escriba nvm
en la consola para obtener ayuda. Los comandos básicos son:
nvm arch [32|64]
: muestra si el nodo se está ejecutando en modo de 32 o 64 bits. Especifique 32 o 64 para anular la arquitectura predeterminada.
nvm debug
: Verifique el proceso NVM4W para detectar problemas conocidos.
nvm current
: muestra la versión activa.
nvm install <version> [arch]
: la versión puede ser una versión específica, "latest" para la última versión actual o "lts" para la versión LTS más reciente. Opcionalmente, especifique si desea instalar la versión de 32 o 64 bits (el valor predeterminado es el arco del sistema). Establezca [arch] en "todos" para instalar versiones de 32 Y 64 bits. Agregue --insecure
al final de este comando para omitir la validación SSL del servidor de descarga remota.
nvm list [available]
: enumera las instalaciones de node.js. Escriba available
al final para mostrar una lista de versiones disponibles para descargar.
nvm on
: habilita la administración de versiones de node.js.
nvm off
: deshabilita la administración de versiones de node.js (no desinstala nada).
nvm proxy [url]
: configura un proxy para usar en las descargas. Deje [url]
en blanco para ver el proxy actual. Establezca [url]
en "ninguno" para eliminar el proxy.
nvm uninstall <version>
: desinstala una versión específica.
nvm use <version> [arch]
: cambie para usar la versión especificada. Opcionalmente, utilice latest
, lts
o newest
. newest
es la última versión instalada . Opcionalmente, especifique la arquitectura de 32/64 bits. nvm use <arch>
continuará usando la versión seleccionada, pero cambiará al modo de 32/64 bits. Para obtener información sobre use
en un directorio específico (o el uso de .nvmrc
), consulte el número 16.
nvm root <path>
: establece el directorio donde nvm debe almacenar diferentes versiones de node.js. Si no se establece <path>
, se mostrará la raíz actual.
nvm version
: muestra la versión actual en ejecución de NVM para Windows.
nvm node_mirror <node_mirror_url>
: configura el espejo del nodo. La gente en China puede usar https://npmmirror.com/mirrors/node/
nvm npm_mirror <npm_mirror_url>
: configura el espejo npm. La gente en China puede usar https://npmmirror.com/mirrors/npm/
Tenga en cuenta que los módulos npm globales que haya instalado no se comparten entre las distintas versiones de node.js que haya instalado. Además, es posible que algunos módulos npm no sean compatibles con la versión del nodo que está utilizando, así que tenga en cuenta su entorno mientras trabaja.
Los usuarios han informado de algunos problemas al utilizar el antivirus, específicamente McAfee. Parece que el software antivirus está manipulando el acceso al motor VBScript. Consulte el número 133 para obtener detalles y resolución.
v1.1.8 no está firmado por código , pero todas las demás versiones están firmadas por Ecor Ventures LLC/Author.io. Esto debería ayudar a prevenir falsos positivos con la mayoría del software antivirus.
v1.1.8+ no tenía código firmado debido a un certificado caducado (consulte las notas de la versión para conocer los motivos). v1.1.9 está firmado en código gracias a ajyong, quien patrocinó el nuevo certificado.
tldr; npm i -g yarn
Consulte la wiki para obtener más detalles.
Instalar desde http://golang.org
Descargar fuente / Git Clonar el repositorio
Cambie GOARCH a amd64 en build.bat si desea crear un ejecutable de 64 bits
Inicie un símbolo del sistema de Windows y cambie el directorio al directorio del proyecto
Ejecute go get github.com/blang/semver
Ejecute go get github.com/olekukonko/tablewriter
Ejecutar build.bat
Verifique el directorio dist
para ver el programa de instalación generado.
Existen varios administradores de versiones para node.js. Herramientas como nvm y n sólo se ejecutan en Mac OSX y Linux. ¿Los usuarios de Windows se quedan atrás? No. nvmw y nodist están diseñados para Windows. Entonces, ¿por qué otro administrador de versiones para Windows?
La arquitectura de la mayoría de los administradores de versiones de nodos para Windows se basa en archivos .bat
, que realizan algunos trucos inteligentes para configurar o imitar variables de entorno. Algunos de ellos usan el propio nodo (una vez descargado), lo cual es admirable, pero propenso a causar problemas. Alrededor del nodo 0.10.30, la estructura de instalación cambió un poco, lo que provocó que algunos de ellos simplemente dejaran de funcionar con algo nuevo.
Además, algunos usuarios tienen dificultades para instalar estos módulos, ya que requieren un poco más de conocimiento de la estructura de instalación del nodo. Creo que si fuera más fácil para las personas cambiar entre versiones, las personas podrían tomarse el tiempo para probar su código en versiones anteriores y futuras... lo cual es simplemente una buena práctica.
En primer lugar, esta versión de nvm no depende de node. Está escrito en Go, que es un enfoque mucho más estructurado que piratear un archivo .bat
limitado. No depende de tener una instalación de nodo existente. Go ofrece la posibilidad de crear una versión para Mac/Linux en la misma base de código. De hecho, esto ya está en marcha.
El mecanismo de control también es bastante diferente. Hay dos formas generales de admitir instalaciones de múltiples nodos con capacidades de conmutación en caliente. La primera es modificar la PATH
del sistema cada vez que cambie de versión, o omitirla utilizando un archivo .bat
para imitar el ejecutable del nodo y redirigir en consecuencia. Esto siempre me pareció un poco complicado y hay algunas peculiaridades como resultado de esta implementación.
La segunda opción es utilizar un enlace simbólico. Este concepto requiere colocar el enlace simbólico en la PATH
del sistema y luego actualizar su destino al directorio de instalación del nodo que desea usar. Este es un enfoque sencillo y parece ser lo que la gente recomienda... hasta que se dan cuenta de lo complicados que son los enlaces simbólicos en Windows. Por eso no ha sucedido antes.
Para crear/modificar un enlace simbólico, debe ejecutarlo como administrador y debe sortear el UAC de Windows (ese molesto mensaje). Afortunadamente, este es un desafío que ya resolví con algunos scripts auxiliares en node-windows. Como resultado, NVM para Windows mantiene un único enlace simbólico que se coloca en la PATH
del sistema únicamente durante la instalación. Cambiar a diferentes versiones de nodo es cuestión de cambiar el destino del enlace simbólico. Como resultado, esta utilidad no requiere que ejecute nvm use xxx
cada vez que abre una ventana de consola. Cuando ejecuta nvm use xxx
, la versión activa del nodo se actualiza automáticamente en todas las ventanas de la consola abiertas. También persiste entre reinicios del sistema, por lo que solo necesita usar nvm cuando desee realizar un cambio.
NVM para Windows viene con un instalador, cortesía de un subproducto de mi trabajo en Fenix Web Server.
En general, este proyecto reúne algunas ideas, algunas piezas de otros módulos endurecidas por la batalla y soporte para versiones más nuevas de node.
NVM para Windows reconoce las versiones "más recientes" utilizando una lista proporcionada por el proyecto Node. La versión 1.1.1+ utiliza esta lista. Antes de que existiera esta lista, recopilaba lanzamientos y los servía como una fuente de datos independiente. Esta lista se utilizó en las versiones 1.1.0 y anteriores, pero ahora está en desuso.
Lo necesitaba, simple y llanamente. Además, es evidente que el soporte para múltiples versiones no llegará al núcleo del nodo. También fue una excusa para jugar con Go.
Elegí Go porque es multiplataforma, me parece menos costoso que Java y ha existido por más tiempo de lo que la mayoría de la gente piensa. Además, quería experimentar con eso. Me preguntaron por qué no lo escribí con Node. Intentar escribir una herramienta con la herramienta que estás intentando instalar no tiene sentido para mí. Como resultado, los requisitos de mi proyecto para esto eran simples... algo que no es Node. Node seguirá evolucionando y cambiando. Si necesita un recordatorio de eso, recuerde io.js, Ayo, todos los cambios importantes entre 4.xx y 6.xx, y el cambio a módulos ES en 12+. El cambio es inevitable en el mundo del software. JavaScript es extremadamente dinámico.
Gracias a todos los que enviaron problemas dentro y fuera de Github, hicieron sugerencias y, en general, ayudaron a hacer de este un mejor proyecto. agradecimiento especial a
@vkbansal, quien brindó importantes comentarios iniciales durante los primeros lanzamientos.
@rainabba y @sullivanpt por integrar el soporte de Node v4.
@shadow, quien resolvió el problema de larga data de escape de espacio en los nombres de rutas (#355).
ajyong, quien patrocinó el certificado de firma de código a finales de 2021.