Nvm-windows: nvm instala el nodo pero no entrega npm

Creado en 3 jul. 2019  ·  47Comentarios  ·  Fuente: coreybutler/nvm-windows

mi entorno

  • [X] Windows 10

Estoy usando la versión NVM4W:

  • [x] 1.1.7

Ya tengo...

  • [x] lea el LÉAME para estar al tanto de problemas de npm y antivirus.
  • [x] revisó la wiki para asegurarse de que mi problema aún no se haya resuelto.
  • [x] verificado Estoy usando una cuenta con privilegios administrativos.
  • [x] buscó los números (abiertos y cerrados) para asegurarse de que no se trata de un duplicado.
  • [x] se aseguró de que esta no fuera una pregunta sobre cómo usar NVM para Windows, ya que gitter se usa para preguntas y comentarios.

Mi problema está relacionado con (marque solo los que correspondan):

  • [ ] configuración.txt
  • [ ] soporte de proxy (¿Has probado la versión 1.1.0+?)
  • [ ] Soporte de 32 o 64 bits (¿Has probado la versión 1.1.3+?)
  • [ ] Escape de caracteres (¿Has probado la versión 1.1.6+?)
  • [x] Un entorno de shell estándar (terminal/powershell)
  • [ ] Un entorno de shell no estándar (Cmder, Hyper, Cygwin, git)

Comportamiento esperado

Después de ejecutar nvm install latest $, se instala la versión de nodo 12.5.0 y la versión de npm v6.9.0 .

Comportamiento real

Después del comando de instalación, no se muestran errores:

2019-07-03_09h10_55

se produce el siguiente problema:

2019-07-03_09h11_08

La carpeta node_modules/ está vacía:

2019-07-03_09h32_34

Pasos para reproducir el problema:

Simplemente instale una versión y verifique lo que sucede. No sé exactamente cómo funciona esto, pero parece ser algo relacionado con el nuevo cambio de URL del proyecto npm/cli.

Comentario más útil

Tener el mismo problema. Este es mi intento y funciona para mí:

  1. descargue la versión del nodo necesario de https://nodejs.org/en/download/releases/ en formato zip (u otro formato)
  2. Elimine el directorio node_modules si ya existe en version drectory que se encuentra en el directorio de instalación de nvm (p. ej., C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. descomprima el archivo del paso 1 y copie el directorio node_modules en version directory inferido en el paso anterior.
  4. npm funciona

Todos 47 comentarios

¿Está 100% seguro de que está ejecutando 1.1.7? Pregunto porque el cambio de npm/cli fue un problema de URL codificada que existía en 1.1.6 y se solucionó en 1.1.7.

desafortunadamente, 100% seguro @coreybutler
jajaja

aquí está mi captura de pantalla de la versión:

2019-07-03_13h33_44

Un amigo mío acaba de instalar nvm 1.1.7 en su máquina y también actualicé la mía para obtener la última versión de npm, sin suerte desafortunadamente

Lo siento, tenía que preguntar :-)

No puedo recrear esto.

image

Por lo general, se trata de a) permisos, b) problemas de red durante la descarga. A veces, el problema de la red está en el servidor remoto, especialmente cuando se ha enviado una nueva versión de nodo/npm. Este mensaje de error aparece todo el tiempo, pero por muchas razones diferentes, lo que dificulta identificar el origen real del problema.

Para reproducir este problema, tuve que desinstalar Node y NPM y hacer una instalación nueva usando solo NVM, luego aparece el error.

pwrshell-nvm-install-latest

Me di cuenta de que durante el proceso de instalación, las cosas relacionadas con NPM se descargan en una carpeta temporal, pero luego nunca se mueven a ningún lado y la carpeta temporal se elimina.
Incluso ejecutando powershell como administrador, por lo que no creo que esté relacionado con los permisos.

Durante la instalación:
during-install

Después de instalar:
after-install

@gsicoli Tiene razón en que npm se descarga en un directorio temporal y luego se mueve. Si la operación de movimiento falla silenciosamente, provocaría que el directorio se elimine sin mover npm donde debe estar (es decir, este comportamiento).

¿Se le pregunta cuando ejecuta nvm use o nvm install ? Ejecutarse como administrador no significa necesariamente que la cuenta tenga permisos elevados. Por lo general, Windows le pedirá que eleve los permisos. Para una cuenta de administrador, se otorga automáticamente, pero aún requiere que el usuario diga "OK".

Me avisa cuando no ejecuto como administrador. Si lo ejecuto como administrador, no aparece... No obstante, el efecto es el mismo.

Enfrentando el mismo problema en Windows 10. Si hay alguna información que pueda proporcionar, estaré encantado de ayudar.

Sin embargo, no parece estar relacionado con una determinada versión del nodo; la carpeta node_modules siempre está vacía para las versiones que intento instalar. Me piden permisos elevados.

Tener el mismo problema. ¿Hay una solución?

Tener el mismo problema. Este es mi intento y funciona para mí:

  1. descargue la versión del nodo necesario de https://nodejs.org/en/download/releases/ en formato zip (u otro formato)
  2. Elimine el directorio node_modules si ya existe en version drectory que se encuentra en el directorio de instalación de nvm (p. ej., C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. descomprima el archivo del paso 1 y copie el directorio node_modules en version directory inferido en el paso anterior.
  4. npm funciona

Tener el mismo problema. Entonces, apliqué una solución alternativa de @liuwenzhuang. De hecho, ahora npm funciona bien. Sin embargo, recibo el siguiente error en npm up -g
62166164-56513a00-b320-11e9-8728-4d0cfeb758a9

Desactivar McAfee y ejecutar la instalación desde la consola de administración me solucionó el problema.

@helzgate : Esto no tiene sentido para mí. Mis registros de virus no muestran exactamente nada.
¿Puede proporcionar un registro de su actividad de McAfee?

Puedo confirmar esto. Con mcafee habilitado, npm se desempaqueta pero el movimiento falla sin ningún error. Los registros de McAfee no muestran nada en absoluto. Deshabilitar mcafee durante la instalación soluciona el problema.
@coreybutler Sé que no es una buena solución, pero aparentemente la descompresión funciona, ¿sería posible descomprimir directamente en la carpeta nodes_module/npm en lugar de descomprimir a temp y mover?

Me encuentro con el mismo problema, pero parece que sucede solo con la instalación del nodo 6 (¿o sucede porque instalé el nodo 6 después de hacer nvm install latest ?). La instalación de NPM se bloquea indefinidamente y me encuentro con el mismo error npm-cli que se indica arriba.

Tengo instalado McAfee Endpoint Security, pero como es una PC administrada en una oficina, no hay forma de desactivarlo para ver si ese es el problema. NPM continúa colgando después de 10 minutos de iniciar el proceso de instalación. ¿No hay una manera de modificar NVM para al menos detectar bloqueos o que un proceso no se completa según lo previsto?

¡Tenga en cuenta que este comentario funciona totalmente! Sería genial si esto es lo que hizo el instalador nvm .

@ matthew-dean Lo mismo aquí con McAfee. Aunque no definieron correctamente mis permisos, así que puedo desactivarlo. Veré si esa es la causa del problema mañana cuando regrese al trabajo. No me sorprendería; el instalador de paquetes de dart informó un problema similar al instalar algún paquete (que también funcionó al descargarlo a temp y luego moverlo a otro lugar).

¡Sí, este es realmente el problema para mí! Allí hay alguna operación que McAfee Endpoint Security evita silenciosamente.

Instalar cualquier versión con McAfee activo => sin npm
Instalar cualquier versión con McAfee deshabilitado => npm está incluido y funciona bien

¿El error mencionado anteriormente , al ejecutar npm update -g , también está relacionado con McAfee? ¿O es un efecto secundario de la solución ?

No lo creas. No cambió nada para mí si deshabilité McAfee o no. También tenga en cuenta que ya hay dos problemas sobre ese tema ( uno más largo y otro más corto con un script que le permite actualizar npm al parecer (no lo probé pero tiene más de 30 pulgares arriba)

¡Gracias! Siguiendo una versión mejorada de ese script para bash . (Es posible que deba ajustar la ubicación nodejs ). Añádalo a su ~/.bashrc y ejecute npmup en un nuevo bash. O bien, ejecute directamente los comandos del cuerpo de la función a la vez. Esta versión en realidad realiza una actualización, en lugar de una (re)instalación cada vez.

function npmup {
  pushd /c/Program\ Files/nodejs > /dev/null
  mv npm npm2
  mv npm.cmd npm2.cmd
  mv npx npx2
  mv npx.cmd npx2.cmd
  node node_modules/npm/bin/npm-cli.js up npm -g
  mv -n npm2 npm
  mv -n npm2.cmd npm.cmd
  mv -n npx2 npx
  mv -n npx2.cmd npx.cmd
  rm -f npm2 npm2.cmd npx2 npx2.cmd
  popd > /dev/null
}

El comentario al que me referí ya ha sido eliminado, disculpe la confusión.

Usando 1.1.7, estaba experimentando el mismo problema con NPM que no se copiaba de la carpeta "temp", cuando realizaba una instalación nueva de Node.js + NPM usando NVM. Dado que uso una máquina de la empresa, no puedo realizar pruebas con McAfee Endpoint Security deshabilitado.

Sin embargo, construí NVM desde "maestro" hoy y verifiqué que se puede instalar correctamente desde cero sin problemas.

Tenga en cuenta que este problema no es _solo_ que NPM no se instala, sino que la utilidad de línea de comandos de NVM tampoco _reconoce_ que NPM no se instaló. En mi opinión, el instalador no está realizando un paso necesario para verificar que el directorio esté presente, lo que evitaría cierta confusión en torno a este problema.

@hind3nbug Lo mismo para mí, McAfee Endpoint Security no se puede deshabilitar en una máquina corporativa, por lo que todavía debe haber una forma adecuada de instalar NPM. Debería haber alguna manera de hacer esto.

Usando 1.1.7, estaba experimentando el mismo problema con NPM que no se copiaba de la carpeta "temp", cuando realizaba una instalación nueva de Node.js + NPM usando NVM. Dado que uso una máquina de la empresa, no puedo realizar pruebas con McAfee Endpoint Security deshabilitado.

Sin embargo, construí NVM desde "maestro" hoy y verifiqué que se puede instalar correctamente desde cero sin problemas.

¿Puedes compartir tu versión? No puedo compilar nvm desde el código fuente :(

@hind3nbug & @coreybutler... entonces, ¿se resolvió este problema? pero no lanzó una nueva versión de nvm? cuando se estima una nueva versión?

Instalé Nodist antes de nvm-windows. Dejó un archivo .npmrc en el directorio de inicio ( %userprofile% ). Tuve que eliminarlo y probar el comando nvm use nuevamente para que todo saliera bien.

Si esto me sucedió hoy, desinstalar la versión y luego reinstalarla pareció solucionar el problema.

Obtuve una falla silenciosa para la instalación de npm.

Pensé que podría ser el escáner de virus de Windows, así que lo deshabilité:
image

Extrañamente ahora el fracaso no es silencioso:

$ nvm install 12.12.0
Downloading node.js version 12.12.0 (64-bit)...
Complete
Creating C:\ProgramData\nvm\temp

Downloading npm version 6.11.3... Download failed. Rolling Back.
Rollback failed. remove C:\ProgramData\nvm\temp\npm-v6.11.3.zip: The process cannot access the file because it is being used by another process.
Could not download npm for node v12.12.0.
Please visit https://github.com/npm/npm/releases/tag/v6.11.3 to download npm.
It should be extracted to C:\ProgramData\nvm\v12.12.0

¿Ejecutó nvm on después de la instalación?

¿Tengo que hacer eso cada vez que instalo una nueva versión de Node.js?

He estado usando nvm durante un par de años y nunca tuve que hacer nvm on antes.

He decidido cerrar este problema porque está comenzando a tocar una serie de otros problemas. Centrémonos en un tema por hilo. Abra un nuevo problema si su problema no se soluciona.

Voy a tratar de resumir en base a lo que he leído:

1) npm será instalado por nvm. Si ve la ruta anterior (npm/npm), debe actualizar NVM4W a 1.1.7. Si no tiene los permisos adecuados, fallará. Esa es la naturaleza y la intención de Windows y por qué existen las indicaciones de UAC.
2) Su antivirus puede evitar que NVM4W mueva los archivos de npm del directorio temporal a su ubicación final. Apágalo o haz una excepción. Ver punto #3.
3) NVM4W se ha enviado a todos los principales proveedores de antivirus y está pasando (en teoría). Sin embargo; El software antivirus cambia las definiciones todo el tiempo, lo que dificulta mantenerse al día. Algunos antivirus fuera de marca basan sus definiciones en conocimientos muy obsoletos, y el mayor desafío es que algunos bloquean los programas go por completo. Hubo un falso positivo en el tiempo de ejecución de go hace unos años... hace mucho tiempo que hubo un parche y NVM4W nunca sufrió el exploit de todos modos... pero algunas empresas de AV bloquean toda la firma del lenguaje go.
4) Sinceramente, nunca apago y enciendo nvm. Realmente no debería tener que hacerlo, pero está diseñado para ayudar a probar su sistema.

Tener el mismo problema. Este es mi intento y funciona para mí:

  1. descargue la versión del nodo necesario de https://nodejs.org/en/download/releases/ en formato zip (u otro formato)
  2. Elimine el directorio node_modules si ya existe en version drectory que se encuentra en el directorio de instalación de nvm (p. ej., C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. descomprima el archivo del paso 1 y copie el directorio node_modules en version directory inferido en el paso anterior.
  4. npm funciona

Intenté todo durante dos días... nvm, reinstalación del nodo, reinicios, cambios de RUTA, ¡y esto es lo único que realmente funcionó a la perfección!

@coreybutler , ¿puedo sugerir agregar la sugerencia de @liuwenzhuang a readme.md o Common-Issues ?

Esto puede ahorrarle tiempo a alguien.

Hola, es mi caso, este mensaje en la consola me dió la pista sobre el error:

Please visit https://github.com/npm/npm/releases/tag/v6.14.4 to download npm.

Si vamos a la página https://github.com/npm/npm/, se indica que el repositorio se ha movido y que ahora está en https://github.com/npm/cli. Es decir, que habría que buscar la v6.14.4 en dicho repositorio.

También me he enfrentado al mismo problema en Windows 10. Y se puede resolver desactivando la protección de McAffe.

Abra McAffe Endpoint Security > Threat Prevntion > Desactivar protección de acceso y módulo de análisis en acceso (desmarque)
ejecutar > versión de instalación de nvm

@coreybutler : creo que debería proporcionar alguna notificación relativa si npm no está instalado correctamente.

Tener el mismo problema. Este es mi intento y funciona para mí:

  1. descargue la versión del nodo necesario de https://nodejs.org/en/download/releases/ en formato zip (u otro formato)
  2. Elimine el directorio node_modules si ya existe en version drectory que se encuentra en el directorio de instalación de nvm (p. ej., C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. descomprima el archivo del paso 1 y copie el directorio node_modules en version directory inferido en el paso anterior.
  4. npm funciona

Gracias @liuwenzhuang Tu comentario realmente ayudó hoy. He estado luchando con este error durante algunos días.

¿Por qué la gente descarga el nodo del sitio web para usarlo con nvm? ¿No se supone que es para eso que sirve nvm? 😉 es mejor que no uses nvm en absoluto.

Tenía un enlace simbólico fantasma que nvm había creado anteriormente y que no podía eliminar debido a los permisos de shell. Supongo que es porque estoy usando nvm en git bash shell como usuario no elevado.

Lo eliminé en el símbolo del sistema de administración:

del /f c:\Program Files\nodejs

Luego hice un nuevo enlace simbólico a una versión que había descargado usando nvm:

mklink /j "C:\Program Files\nodejs" "C:\Users\USER_NAME\AppData\Roaming\nvm\NODE_VERSION"

No he probado nvm use NODE_VERSION pero existe una buena posibilidad de que si eliminas el enlace simbólico antes de invocarlo, haga el enlace por ti (supongo que ese es el comportamiento esperado). Lo más probable es que necesite usar algo como esto: https://github.com/imachug/win-sudo

Tener el mismo problema. Este es mi intento y funciona para mí:

  1. descargue la versión del nodo necesario de https://nodejs.org/en/download/releases/ en formato zip (u otro formato)
  2. Elimine el directorio node_modules si ya existe en version drectory que se encuentra en el directorio de instalación de nvm (p. ej., C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. descomprima el archivo del paso 1 y copie el directorio node_modules en version directory inferido en el paso anterior.
  4. npm funciona

¡¡¡Esto funcionó!!!

También tuve el mismo problema con McAfee + Win 10 + PowerShell. - Muchas gracias @liuwenzhuang

No estoy seguro de por qué se cerró esto, pero tengo el mismo problema, instalación nueva de Windows 10, instalación nueva de nvm, sin antivirus (excepto integrado). La solución oficial no es pasar por alto la razón por la que estoy usando nvm, ¿verdad?

Este comentario me funciona: https://github.com/coreybutler/nvm-windows/issues/475#issuecomment -538475058

Solo haciendo nvm on ... Pensé que estaba 'activado' directamente después de la instalación 😄

Cuando la versión de su npm local es la más reciente, es posible que no instale la misma versión npm cuando instala el nodo más reciente, ¿sucederá eso?

Una de las máquinas de mi oficina tiene McAfee y creo que se está deteniendo para instalar (copiar) la carpeta npm. Pero el siguiente paso viene como un rescate para mí. Gracias.

Tener el mismo problema. Este es mi intento y funciona para mí:

  1. descargue la versión del nodo necesario de https://nodejs.org/en/download/releases/ en formato zip (u otro formato)
  2. Elimine el directorio node_modules si ya existe en version directory que se encuentra en el directorio de instalación de nvm (p. ej., C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
  3. descomprima el archivo del paso 1 y copie el directorio node_modules en version directory inferido en el paso anterior.
  4. npm funciona

¡Esto funciona de mí, como un encanto!

Creo que agregar un paso de prueba para confirmar la instalación exitosa de cualquier versión de nodejs hasta nvm-windows será muy útil para ahorrar tiempo. Si falla, proporcione algunas ideas probables para resolverlo.

@coreybutler pensó?

Gracias.

@Amitesh : creo que tener controles de integridad es una buena idea. Sin embargo; No tengo tiempo para hacer eso ahora (vea la pestaña de discusión, primera publicación). Aceptaría un PR si alguien quisiera agregar esto.

Sigo enfrentando el problema npm no reconocido en Windows 10 para el nodo recién instalado (10.23.0) usando nvm (1.1.7)
Seguí los pasos a continuación pero no sirvió de nada.

descargue la versión del nodo necesario de https://nodejs.org/en/download/releases/ en formato zip (u otro formato)
Elimine el directorio node_modules si ya existe en el directorio de versión que se encuentra en el directorio de instalación de nvm (p. ej., C:UsersUSER_NAMEAppDataRoamingnvmv8.11.4).
descomprima el archivo del paso 1 y copie el directorio node_modules al directorio de versión inferido en el paso anterior.
npm funciona
alguien puede guiarme sobre cómo hacer que esto funcione :( @coreybutler ¿ alguna ayuda, por favor?
nvmerror
nvm npm _10 23 0

Acabo de encontrar una solución al mirar los comentarios relacionados con la protección antivirus.

Estoy en Windows 10, 64 bits, versión 1909 (compilación 18363.1139)

  1. Desde el menú Inicio, abra la aplicación de seguridad de Windows .
  2. Haga clic en el mosaico Protección contra virus y amenazas .
  3. En la interfaz que se muestra, elija Administrar configuración que se encuentra en "Configuración de protección contra virus y amenazas"
  4. Desactivar la protección en tiempo real
  5. Desde el menú de inicio, busque Símbolo del sistema , haga clic derecho y "Ejecutar como administrador"
  6. ejecute nvm install con la versión que desea instalar. npm se instalará correctamente ahora. Verifique con el uso de nvm con la versión, luego node -v y npm -v
  7. Vuelva a la aplicación de seguridad de Windows y vuelva a activar la protección en tiempo real
¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

leiamac picture leiamac  ·  4Comentarios

webspecialist picture webspecialist  ·  5Comentarios

Miggleness picture Miggleness  ·  6Comentarios

janpio picture janpio  ·  3Comentarios

fredericrous picture fredericrous  ·  3Comentarios