'npm' no se reconoce como comando interno o externo, programa operativo o archivo por lotes

202

Soy completamente nuevo en nodejs. Estoy tratando de hacer que nodejs funcione en mi caja de Windows 2008 para instalar Karma que usaría para TDDing mi código AngularJs. He hecho los siguientes pasos hasta ahora

  1. Instalar usando Chocolatey ==> npm no se reconoce
  2. Instale utilizando el instalador de nodejs de 64 bits de nodejs.org ==> npm no se reconoce
  3. En esta etapa, correr where npmme da lo c:\User\<Username>\AppData\Roaming\npmque no tiene nada
  4. Me di cuenta de que nodejs está instalado C:\Program Files\nodejs. Abrir un símbolo del sistema en este directorio hace que npmfuncione bien.
  5. Así que he añadido C:\Program Files\nodejsa PATHsólo para conseguir el mismo error otra vez quenpm is not recognized
  6. Uno de los problemas de github en el repositorio de nodejs dice que necesito reiniciar la máquina y se solucionaría. Pero eso no ha ayudado hasta ahora
  7. Veo un Node.jsicono en mi Start -> Programmsmenú que me lleva a la consola de nodejs pero no estoy seguro de qué hacer con eso.

¿Me he perdido algún paso importante en el proceso?

Editar

Descubrí que si abro el "símbolo del sistema Nodejs" de los archivos de programa, se reconoce npm. ¿Cómo hago que funcione en un símbolo del sistema normal?

Editar

Después nodecomencé a enfrentar un problema similar con otra aplicación. Publiqué esta pregunta en el superusuario y, como señaló correctamente la respuesta aceptada, tenía una cita adicional PATHque estaba causando problemas con todas las rutas agregadas después de la cita. Tengo la sensación de que alguna instalación de Chocolatey agrega esta cita problemática, pero no estoy seguro de cuál.

Suhas
fuente
8
Después de agregar al PATH, ¿reiniciaste la línea de comando? PATHsolo se carga al inicializar nuevas sesiones de línea de comandos.
Davin Tryon
Sí Davin, he reiniciado la línea de comandos varias veces ahora
Suhas
Tengo "C: \ Archivos de programa \ nodejs \" en mi sistema PATHy todo funciona en Windows 7.
Davin Tryon
55
¿Puedes abrir un nuevo símbolo del sistema y escribir PATH(presionar <enter>) y verificar que ves "C: \ Archivos de programa \ nodejs \" allí?
Davin Tryon
1
Sí, lo tengo C:\Program Files\nodejsenPATH
Suhas

Respuestas:

347

Solo agrega:

;C:\Program Files\nodejs\

Al final de su variable de ruta en la sección "Variable de usuario" de las variables de entorno en las propiedades del sistema.

Después de eso, vuelva a abrir su símbolo del sistema y escriba

npm

Esto debería funcionar.

Breno
fuente
44
La razón por la que no acepté la respuesta fue porque ya tenía esa entrada de ruta. La razón por la que no funcionaba era diferente. Sin embargo
Suhas
44
El punto y coma separa las diferentes variables de usuario que puede tener. Por lo tanto, normalmente ya tiene algunas rutas en sus variables de entorno, y para agregar una nueva, primero debe separarse del resto agregando un punto y coma antes de la ruta que desea agregar.
Breno
2
Tómeme un poco de tiempo para encontrar Cómo agregar <code>; C: \ Archivos de programa \ nodejs \ </code> en "Variable de usuario". Compartiendo esto a continuación: 1: Abra la ventana Propiedades del sistema (Inicio -> Configuración -> Panel de control -> Rendimiento y mantenimiento -> Sistema). 2. Seleccione la pestaña Avanzado. 3. Haga clic en el botón Variables de entorno. 4. Haga clic en el botón Nuevo debajo de "Variables de usuario" 5. agregue "Ruta" y "; C: \ Archivos de programa \ nodejs \"
Wen
66
El instalador de node.js ya puso la variable de ruta para mí. Pero todavía no tengo npm en la línea de comando.
MrFox
77
¿Reiniciaste @MrFox?
Breno
116

¡No olvide reiniciar su computadora después de instalar el nodo! Ese me tiene.

usuario3414680
fuente
No estoy seguro si lo necesita si lo instala utilizando Chocoletey.
Suhas
58
No debería tener que reiniciar, sino simplemente cerrar su terminal y abrirlo nuevamente.
Bagre
55
Reiniciar, reiniciar, reiniciar!
Andrew Day
@Suhas ... gana 10 - indicador de PS de administrador -choco install nodejs - Código reiniciado ... TODAVÍA tuve que reiniciar
felickz
VS Code se actualizó a sí mismo. Tuve que reiniciar, nada más funcionó.
TDP
33

Para explicar la respuesta de Breno ... Para Windows 7, estos pasos funcionaron para mí:

  1. Abra el Panel de control (haga clic en el botón Inicio, luego haga clic en Panel de control )
  2. Hacer clic Cuentas de usuario
  3. Hacer clic Cambiar mis variables de entorno
  4. Seleccione RUTA y haga clic en Editar ... botón
  5. Al final del valor de la variable, agregue ;C:\Program Files\nodejs
  6. Haga clic en Aceptar en la ventana "Editar variable de usuario", luego haga clic en Aceptar en la ventana "Variables de entorno"
  7. Inicie una ventana de símbolo del sistema (botón Inicio, luego escriba cmd en la búsqueda y presione enter)
  8. En el indicador ( C:\>), escriba npm y presione enter; ahora debería ver texto de ayuda ( Usage: npm <command>etc.) en lugar de " no se reconoce npm ... "

¡Ahora puedes comenzar a usar npm !

Luke
fuente
66
En algunos sistemas podría ser ;C:\Program Files(x86)\nodejs.
kaiser
17

No olvides ejecutar cmd como administrador.

Raul
fuente
Instalé Node afuera Program Filesy esto solucionó el problema. Gracias.
Pauline
Una cosa tan simple que todos se perdieron. Gracias raul. Su respuesta es la última no menos importante y resolvió el problema. gracias hombre
Gaurav khurana
12

Tuve el mismo problema descrito por Ashu , pero además de eso, la entrada PATH para nodejs terminó con una barra invertida:

C:\Program Files\nodejs\

También tuve que eliminar esa barra invertida final para que funcione.

gbgnv
fuente
1
Escribe "además", pero el único cambio que tuve que hacer fue eliminar la barra diagonal final en la variable de entorno del sistema Path.
Scott Munro
9

Me enfrenté exactamente al mismo problema y noté que después de instalar node.js había una nueva entrada de ruta en la sección de variable de usuario para PATH con valor -> c: \ User \\ AppData \ Roaming \ npm. Además, la entrada Ruta en la variable del sistema se agrega con -> C: \ Archivos de programa \ nodejs. Ahora, dado que la variable de usuario tiene preferencia sobre el sistema, tiene dos opciones para solucionarlo. Elimine la ruta de la variable de usuario o corrija la ruta correcta (C: \ Archivos de programa \ nodejs). Reinicie CMD y debería funcionar.

Ashu
fuente
7

Simplemente descargue e instale Node.js desde aquí https://nodejs.org/en/

Si ejecuta el archivo descargado e lo instala, se configurarán automáticamente para su sistema

Ya no necesita ninguna otra configuración, ahora puede usar el comando npm en cualquier lugar


Si el Nodejs se instaló correctamente y aún muestra el mensaje de esta manera:

'npm' no se reconoce como un comando interno o externo, programa operativo o archivo por lotes.

Siga los pasos a continuación para usuarios de Windows:

  1. Ir a las propiedades de mi computadora
  2. Haga clic en Configuración avanzada del sistema en la barra izquierda de una ventana.
  3. Ahora tiene una ventana de Propiedades del sistema. Haga clic en avanzado
  4. Luego, haga clic en el botón Variable de entorno
  5. Ahora tiene una ventana de variable de entorno: desde la variable del sistema , seleccione la ruta
  6. Haz clic en Editar
  7. Al final del valor de la variable, agregue ;C:\Program Files\nodejs\

    Nota : si ha instalado nodejs en otras unidades, actúe en consecuencia.

  8. Haga clic en Aceptar en todo el cuadro de diálogo abierto

Nota muy importante : "Cierre el símbolo del sistema y reinicie nuevamente" reinicie (es muy importante porque si no reinicia el símbolo del sistema, los cambios no se reflejarán).

Ahora puede usar el comando npm en cualquier lugar

Udhav Sarvaiya
fuente
6

Si está utilizando el código VS, cierre el código VS y ábralo nuevamente.

Intenté cerrar la Terminal y luego abrir una nueva Terminal, pero no funcionó.

¡Reiniciar VS Code funciona!

codemirror
fuente
4

Tuve el mismo problema en Windows 8.1 de 64 bits.
Resulta que tengo ese problema si empiezo cmd escribiéndolo en la barra de ruta en la parte superior de una ventana de carpeta
o
cuando hago clic derecho en una ventana de carpeta y luego abro el símbolo del sistema de la lista.

Cuando ejecuto cmd usando Ejecutar o Solo desde el ejecutable cmd.exe, funciona.

jacobian
fuente
4

Si recibe este error a través de una cuenta de servicio como Visual Studio TFS Build controlador o cualquier otro servicio en segundo plano, asegúrese de reiniciar el servicio después de instalar npm ya que la nueva configuración del entorno PATH no será recogida por aquellos procesos que ya están en ejecución. Recibía el mismo error a través de mi servicio de compilación, pero tenía npm instalado y ejecutándose en la consola.

Ehsan Mahpour
fuente
4

Es posible que ya haya recibido una respuesta, pero esto podría ayudar a otros ya que recientemente experimenté el mismo problema y esto es lo que hice:

  1. Proporcionó una entrada de ruta a powershell. Para mí, la ruta era C: \ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. Luego abrí cmd prompt con privilegios administrativos y copié esto

    @powershell -NoProfile -ExecutionPolicy sin restricciones -Command "iex ((new-object net.webclient) .DownloadString (' https://chocolatey.org/install.ps1 '))" && SET PATH =% PATH%;% ALLUSERSPROFILE% \ chocolatey \ bin

en el indicador de cmd.

  1. A continuación, choco install nodejs
  2. Reiniciar y todo funcionó bien. Intente abrir cmd sin privilegios de administrador y ejecute npm -v Cheers.
rash.tay
fuente
3

Me encontré con este problema también. Resulta que Windows no disfruta de comillas simples en la línea de comando. El culpable fue uno de mis guiones npm. Cambié las comillas simples por comillas dobles escapadas:

'npm -s run sass-build'

a

\"npm -s run sass-build\"
Skott Dorrito
fuente
3

Estoy actualizando este hilo con una nueva respuesta porque he encontrado la solución a mi miserable situación después de no menos de una semana ...

Para aquellos que todavía experimentan el error a pesar de que tienen su valor de ruta configurado correctamente, verifique su variable de texto para tener el valor (valor predeterminado en Windows 7+): .COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .WSF; .WSH; .MSC

El mío era establecer solo a: .BAT y cambiarlo resolvió el problema. Me pregunto por qué nadie mencionó esto ...

¡Espero que esto ayude!

A.KHOUS
fuente
2

Instalé nodejs siguiendo este tutorial de AngularJS . el comando npm funcionó cuando abro una nueva ventana de cmd pero no en la actual.
Entonces, la solución fue cerrar y abrir una nueva ventana de cmd .

miva2
fuente
2

Me encontré con este problema el otro día en mi máquina con Windows 7. El problema no era mi camino, pero tuve que usar barras diagonales escapadas en lugar de barras diagonales inversas como esta:

"scripts": {
    "script": ".\\bin\\script.sh"
}
Daniel Lizik
fuente
2

Si el paquete se instaló correctamente y aún muestra el mensaje " 'npm' no se reconoce como un comando interno o externo, programa operativo o archivo por lotes " .

  1. Haga clic en el botón de inicio de Windows.
  2. Busque " TODAS LAS APLICACIONES ", verá Node.js y Node.js Símbolo del sistema allí.
  3. Puede ejecutar el símbolo del sistema Node.js como administrador y tan pronto como se ejecute mostrará el mensaje "Su entorno se ha configurado para usar Node.js 6.3.0 (x64) y npm".

y luego funciona desde allí ...

S.Droid
fuente
1

Instalé Node.js y al intentar instalar Ionic y cordova usando este código:

npm install -g cordova ionic

Me enfrenté al error anterior. Agregué 'C: \ Archivos de programa \ nodejs' a mi variable de entorno 'PATH'. Pero aún no pudo superar este problema. Resultó que mi variable PATH tenía más de 2048 caracteres, por lo que no pude agregarle la ruta Nodejs. Tuve que eliminar la ruta de otro programa y agregar la ruta de Nodejs. Cierre y vuelva a abrir el indicador de cmd e intente instalar Ionic nuevamente. Esto funcionó para mí.

Ram Sundar
fuente
1

para mí, agregar ruta a PATH no funcionó. Corre en su c:\Program Files\nodejs\nodevars.batlugar, hará el trabajo por ti

Cheburek
fuente
1

Bueno, en mi caso haciendo pruebas a través de Mocha, intenté todo solo para darme cuenta de que tenía que eliminar las comillas simples alrededor de mi etiqueta de script de caso de prueba dentro package.json.

Estoy ejecutando el mochacaso de prueba en todos los *.test.jsarchivos como se puede ver a continuación:

package.json

Antes de:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

Después (eliminando comillas simples - npm run test):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

Funcionó para mí, en caso de que alguien más también se quede atrapado en esto.

Ylama
fuente
1

Si todo se ve bien. Yo recomendaría verificar esto para PATHEXT .CMD debe ser agregado. ingrese la descripción de la imagen aquí

Gitesh
fuente
Su respuesta solucionó 100% mi problema. Gracias.
Gauthier Buttez
0

Para Windows8, haga clic con el botón derecho en las propiedades de mi PC y luego haga clic en las variables de entorno variable de usuario o Variables del sistema >> nuevo >> coloque el nombre y la ruta de la variable: de esta manera C:\Program Files\nodejs Luego, ahora abra cmd y escriba npm , funcionará

Imran Khan
fuente
2
¡Hola! Bienvenido a SO. Consulte la sección de ayuda sobre cómo responder . ¿Cómo difiere esto de las respuestas publicadas anteriormente? ¿Hay algo específicamente diferente de la respuesta de @ Luke para Windows 7? ¿El problema mencionado con el ;en la ruta no se aplica? Si solo está confirmando eso, sí, la respuesta aceptada todavía es aplicable en Windows 8, considere eliminar su respuesta y agregar la información como un comentario a la respuesta aceptada. Si está aportando algo nuevo a la mesa, actualice su respuesta para reflejarlo. Lo mejor
wahwahwah
0

siga solo 2 pasos 1. Descargue nodejs manualmente ahora vaya a esa ruta como C: \ Archivos de programa \ nodejs \ 2. Luego agregue una nueva ruta como nombre: ruta y nombre de variable: C: \ Archivos de programa \ nodejs \ haga clic en Aceptar y cierre cmd prompt vuelva a abrir y simplemente escriba npm en el indicador

Atchutha rama reddy Karri
fuente
0

Verifique la configuración de npm por comando:

npm config list

Necesita propiedades: "prefijo", "prefijo" global y "ubicación de ubicación de nodo".

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

En este caso, necesita agregar estas rutas al final de la variable de entorno PATH:

;C:\Program Files\nodejs;C:\ProgramData\npm;
Playa Pax
fuente
0

Si usó herramientas de compilación ms para instalar el nodo, la ruta está aquí:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs
Helzgate
fuente
-2

Necesitamos instalar nodejs y nada más debemos hacer y luego simplemente usar el símbolo del sistema y cambiar el directorio al proyecto en el que desea instalar npm y luego usar el comando de instalación npm. Esto ha funcionado para mí.

Vivek Verma
fuente