La instalación de Npm no puede encontrar el módulo 'semver'

196

No puedo usar npm installel símbolo del sistema en NodeJS. Recibo estos errores cuando ejecuto npm install:

module.js:339
    throw err;
    ^
Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (C:\Users\admin\AppData\Roaming\npm\node_modules\npm\l
ib\config\defaults.js:6:14)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
usuario2447562
fuente
44
Tuve el mismo problema Alternativamente, puedes usar hilo, en lugar de npm
Wojciech Maślanka
1
¿Estás utilizando hilo para instalar el package.json?
anandharshan
1
Simplemente reinstale npm
Nuno Ferro

Respuestas:

402

Yo tenía el mismo error. npm uninstall npm -g, rm -rf node_modulesno me ayudó, porque cuando lo intenté me estaba poniendo Error: Cannot find module 'semver'. Pero resuelvo mi problema con estos pasos (esto eliminará otros módulos globales que pueda estar usando):

  • sudo rm -rf /usr/local/lib/node_modules
  • sudo rm -rf ~/.npm
  • brew uninstall --force node
  • brew install node

Espero que esto ayude a aquellos que tienen un problema similar.

artiebits
fuente
3
Usé esto en dos máquinas diferentes con El Capitán, funcionó en ambos casos.
Kamikaze Rusher
77
Use brew uninstall --force nodepara eliminar todas las versiones
elimine el
55
solo instala npm nuevamente. curl -0 -L https://npmjs.org/install.sh | sudo shdespués de eliminar la carpeta npm
Baryon Lee
17
Si Yarn ya está instalado, brew uninstall --ignore-dependencies nodefunciona para mí donde brew uninstall --force nodeno.
Maxime Lafarie
13
Es mi culpa por pegar ciegamente los comandos, pero sudo rm -rf /usr/local/lib/node_modulesme hizo perder los módulos globales que uso, como gulp y el servidor de selenio. Estar cansado de esto
AmmarCSE
84

Estoy enfrentando el mismo problema aquí.

Si esto ocurre justo después de ejecutar, brew install yarnintente ejecutar yarn global add npmy voilà - ¡arreglado!

Ashoor
fuente
2
Esta solución funcionó muy bien para mí y es infinitamente más simple que las alternativas aquí. Creo que yarn puede destrozar npm si la instalación obtiene un error de permisos / acceso durante la actualización / instalación.
Slbox
52

En MS Windows, la solución es eliminar %APPDATA%\npmy reinstalarnode

Gangadhar
fuente
Desearía poder duplicar este voto para Windows. Hay un problema: el directorio AppData estaba oculto de forma predeterminada, por lo que no pensé que realmente estuviera instalado en esta ubicación.
Ringo
77
En Windows solo repare, no es necesario reinstalarlo
MotKohn
2
@MotKohn ¿Reparar qué? ¿Una pierna? ¿un hueso? ¿un coche? "reparar" que ?!
samayo
2
@samayo En Windows donde instala hay una opción de reparación. Lo siento, este fue un comentario contextual.
MotKohn
2
Este enfoque también funcionó para mí en mi computadora portátil Windows 8.1 Enterprise de 64 bits. Tuve que eliminar las carpetas "npm" y "npm-cache", seguido de una desinstalación y una nueva instalación de nodo.
Eddie
46

También tuve esto, después de correr brew install yarnayer. Al menos, todo estaba bien hasta entonces.

Corrí rm -rf node_modulese intenté reinstalar, pero ningún npmcomando funcionaba.

Al final, tomé el paso bastante simple de reinstalar Node a través del instalador oficial de Node para Mac OS X.

https://nodejs.org/en/download/

Todo está bien ahora. Simplemente volví al directorio, corrí npm instally ya está hecho.

raffjones
fuente
npm installLo hice por mí. Estaba instalando todas las dependencias una por una, pero las npm installhice todas a la vez. Gracias.
tazboy
3
También me ocurrió esto después de unbrew install yarn
Walter Martin Vargas-Pena
1
la reinstalación simple de node.js desde el instalador oficial de osx ayudó. ¡Gracias!
Roman
me pasó a mí también después brew install yarn!! qué diablos, hilo
movac
23

En Arch Linux , el truco para mí fue:

sudo pacman -Rs npm
sudo pacman -S npm
Telmo Trooper
fuente
1
Tuve que usar sudo pacman -Rddpara eliminar ignorando las dependencias, pero no me resolvió el problema. Instalar semver desde los paquetes de arco en la respuesta de Mathias Braun lo hizo.
Pierre-Alexis Ciavaldini
15

Habiendo encontrado esto en Arch Linux 4.13.3, resolví el problema simplemente reinstalando semver:

pacman -S semver
Matthias Braun
fuente
8

En realidad, está tomando la referencia de módulos previamente almacenados.

Solución: elimine la carpeta npm-cache / npm en el directorio de instalación de nodejs. En Windows, está en C: / Usuario / Nombre de usuario / Appdata / Roaming / npm (o npm_cache). e intente instalar de nuevo.

Lo mismo que hacer en cualquier sistema operativo.

Shubham Jaiswal
fuente
Eso es. Desinstalé el nodo. Luego borró ambos npmy npm_cachede /Appdata/Roaming. Luego instaló el nodo nuevamente. Parece caché para ser culpado allí.
Saulius el
7

En mi caso en macOS (10.13.6), cuando ejecuté el siguiente comando

npm install -g react-native-cli

Recibí este error

Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:690:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

El error se resolvió después de ejecutar el comando

yarn global add npm

propuesto por @Ashoor

zeeawan
fuente
5

Para mí, esto sucedió después de que instalé hilo a nivel mundial. Para resolver este problema, instale npm usando hilo y listo.

yarn global add npm
the_haystacker
fuente
4

En Windows, descargar MSI de Node nuevamente y hacer una 'Reparación' funcionó para mí.

Sornakumar
fuente
2

Tuve el mismo problema pero fue causado por una falla package-lock.json archivo .

Eliminar package-lock.jsony ejecutar de npm installnuevo lo arregló para mí.

Wireblue
fuente
2

Enfrenté este problema cuando corrí npm installusando una versión inferior del nodo. Luego, cuando actualicé a la última versión del nodo y ejecutégulp , ha mostrado este error.

Para resolver, eliminó node_modules y volvió a ejecutar npm install. Luego gulpcorrió bien.

cedric
fuente
1

Simplemente elimine la carpeta / node_modules e intente nuevamente. ;)

Puedes usar npm rmpara eliminarlo.

También puede verificar este problema en GitHub. Para ser más específico sobre unnistal, intente seguir esto :

Desinstalar

Tan triste verte partir.

sudo npm uninstall npm -gO, si eso falla,

sudo hacer desinstalar Desinstalación más severa

Por lo general, las instrucciones anteriores son suficientes. Eso eliminará npm, pero deja todo lo que hayas instalado.

Si desea eliminar todos los paquetes que ha instalado, puede usar el comando npm ls para encontrarlos y luego npm rm para eliminarlos.

Para eliminar cruft dejado por npm 0.x, puede usar el archivo de script clean-old.sh incluido. Puede ejecutarlo convenientemente de esta manera:

npm explore npm -g - scripts / clean-old.sh npm usa dos archivos de configuración, uno para configuraciones por usuario y otro para configuraciones globales (para cada usuario). Puede verlos haciendo:

npm config get userconfig # por defecto es ~ / .npmrc npm config get globalconfig # por defecto es / usr / local / etc / npmrc La desinstalación de npm no elimina los archivos de configuración de forma predeterminada. Debe eliminarlos usted mismo manualmente si desea que se vayan. Tenga en cuenta que esto significa que las futuras instalaciones de npm no recordarán la configuración que haya elegido.

Rodmentou
fuente
Actualicé mi respuesta. Pruebalo ahora. Si no funciona, prueba algo por mí. Copie el package.json a otra carpeta e intente usar npm install.
Rodmentou
1
¿Puedes pegar tu package.json, por favor?
Rodmentou
{"nombre": "espacio de trabajo", "versión": "0.0.0", "privado": verdadero, "scripts": {"inicio": "nodo ./bin/www"}, "dependencias": {" analizador de cuerpo ":" ~ 1.13.2 "," bson ":" ^ 0.2.22 "," analizador de cookies ":" ~ 1.3.5 "," depuración ":" ~ 2.2.0 "," express " : "~ 4.13.1", "hbs": "~ 3.1.0", "monje": "^ 1.0.1", "morgan": "~ 1.6.1", "serve-favicon": "~ 2.3 .0 "}," motores ": {" nodo ":" 4.2.2 "}}
usuario2447562
¿Has intentado ejecutar npm install con tu package.json en otra carpeta?
Rodmentou
tengo que desinstalarlo en node.js, después de instalar node.js ... tengo que crear una aplicación de muestra usando mean.que en ese momento tengo que instalar el comando npm intall, pero obtengo el mismo error ... por favor, dé alguna solución a me ....
user2447562
1

¡Finalmente lo descubrí! Sí, debe desinstalar / eliminar todos los archivos y reinstalar. PERO ALGUNOS DE LOS CAMINOS DE ARCHIVO SON DEMASIADO LARGOS PARA ELIMINAR DURANTE EL PROCESO DE INSTALACIÓN. Las rutas de archivo son tan largas en el nodo que es posible que no se puedan eliminar. Debe cambiar el nombre de las rutas de los archivos.

Después de desinstalar Node, use el símbolo del sistema, navegue hasta ... \ Appdata \ roaming \ (use la ruta del mensaje de error). Intenta eliminar la carpeta con del npm. Luego, si no le permite eliminar una carpeta, comience a cambiar el nombre de las carpetas en la ruta del archivo en el siguiente mensaje de error a "a" o algo corto. Puede que tenga que hacer esto para varias carpetas a lo largo de la ruta. ¡Entonces deberías poder eliminar! Luego reinstale el nodo y debería funcionar.

The Windhover
fuente
0

En mi caso, simplemente volver a ejecutar brew install yarnsolucionó el problema.

jack4it
fuente
0

Me enfrenté al mismo problema después de que la instalación de hilo de mi MacOs Sierra 10.12.6. (Y el primer intento de instalación se produce después de que brew update self con un mensaje "Homebrew debe ejecutarse en Ruby 2.3! Estás ejecutando 2.0.0. (RuntimeError)". Así que lo vuelvo a ejecutar).

Entonces uso n manager para reinstalar npm.

  • cambiar a otra versión de nodo (para mi caso a 8.0) mediante el comando "n" con parámetros vacíos
  • o instalar nuevo por "n xxx" donde xxx el número de versión del nodo (necesito 6.9.1)
  • elimine la versión de trabajo con "n rm xxx", donde xxx es el número de versión del nodo. use sudo si es necesario
  • instale la versión de trabajo con "n xxx", donde xxx es el número de versión del nodo. use sudo si es necesario
  • cambie a la versión de trabajo del nodo. (ver el primer paso para referencia)

Creo que el problema puede deberse a que el nodo se instaló en sudo por caso.

Larest
fuente
0

Tuve el mismo problema al instalar en AWS Linux. Tuve que instalarlo con sudo. Entonces, para evitar esto, seguí el paso 3 de este artículo (asegurándome de obtener la última versión del nodo)

https://www.hostingadvice.com/how-to/update-node-js-latest-version/

wget https://nodejs.org/dist/vx.x.x/node-vx.x.x-linux-x64.tar.xz
tar -C /home/aUser/node --strip-components 1 -xJf node-vx.x.x-linux.x64.tar.xz

Pero lo instalé en el directorio de inicio del usuario /home/aUser/node. Luego agregué ese camino a mi RUTA.

export PATH=/home/aUser/node/bin:$PATH

Después de eso pude hacer un npm installsin problemas.

Jerinaw
fuente
0

Enfrenté estos problemas mientras ejecutaba el proyecto en una versión superior de cli. Para resolver este problema, simplemente puede comentar @ angular-devkit / build-angular module y nuevamente debe reinstalarlo a través de

npm install @ angular-devkit / build-angular --save

sachin
fuente
0

Solo asegúrate de que semveresté instalado:npm install -g semver

Javarome
fuente
1
npm no funciona, por lo que no puede instalar semver a través de npm. La mejor solución es usar hilo para instalar npm o paquetes faltantes
NFpeter
@NFpeter Tuve exactamente el mismo problema que el indicado en la pregunta y lo solucioné de esta manera, por lo que npm funcionó (al menos en mi caso).
Javarome
0

Para mí, sucedió al actualizar a Gulp 4 desde Gulp 3 en mi proyecto. Entonces, cuando ejecuté el comando "gulp watch", me estaba arrojando el mismo error.

Probablemente se deba a que la versión no coincide en comparación con mi trago instalado globalmente.

Por lo tanto, ayudaría a mejorar el trago con el indicador global "-g", o seguiría esto a continuación

Sin embargo, usé "./node_modules/.bin/gulp watch" en mi proyecto. Esto garantiza que todas las dependencias que necesita gulp se tomen solo de node_modules.

myDoggyWritesCode
fuente
0

Como señaló anónimo (?) En DeveloperReference.com, los pasos a continuación resolvieron el "no se puede encontrar el módulo 'semver'" cuando ejecuto npm -install:

* "Seguí estos pasos y resolvió mi problema desinstalando Node.js

  1. Eliminar el contenido de las siguientes carpetas
    • C: \ Usuarios \ {nombre de usuario} \ AppData \ Roaming \ npm-cache
    • C: \ Users \ {nombre de usuario \ \ AppData \ Roaming \ npm
  2. C: \ Archivos de programa \ nodejs Luego instale nuevamente Node desde https://nodejs.org/en/ "*

https://html.developreference.com/article/12253101/Cannot+find+module+%27semver%27+When+installing+Npm

Mosca Pt
fuente
-1

Simplemente revise sus scripts de preinstalación si tiene uno. A veces, para restringir las versiones de nodey npmuno necesita ejecutar un proyecto.

Si ese es el caso, debe instalarlo semvermanualmente a través denpm install -g semver

Mr94
fuente
-2

Me encontré con el mismo problema y lo solucioné actualizando mi versión de Node

tim
fuente