javascript - node - package.json que es
No se puede encontrar el mensaje de error del módulo ''npmlog'' cuando se utiliza el comando npm (10)
Hoy es mi primer día de mi primer trabajo y después de configurar mi entorno de desarrollo al actualizar node y npm en mi Mac (OSX) parece que he roto algo. Cada vez que trato de usar npm en mi línea de comandos (npm init, npm install, etc.) aparece este mensaje de error:
module.js: 339
tirar err;
Error: no se puede encontrar el módulo ''npmlog''
en Function.Module._resolveFilename (module.js: 337: 15)
en Function.Module._load (module.js: 287: 25)
en Module.require (module.js: 366: 17)
at require (module.js: 385: 17)
en /usr/local/lib/node_modules/npm/bin/npm-cli.js:20:13
en Object. (/usr/local/lib/node_modules/npm/bin/npm->cli.js:76:3)
en Module._compile (module.js: 425: 26)
en Object.Module._extensions..js (module.js: 432: 10)
en Module.load (module.js: 356: 32)
en Function.Module._load (module.js: 311: 12)
No hay mucho de un mensaje de error que se active y el seguimiento de la pila tampoco me está ayudando demasiado. Esto es lo que he intentado:
- Busqué alrededor de Stackoverflow y aunque hay problemas similares, las personas han podido usar
npm <something>
para resolver su problema, lo que no puedo hacer. - Desinstalar y reinstalar npm: no funcionó porque no puedo usar el comando npm para que cosas como
sudo npm uninstall npm -g
no funcionen. - Se
npmlog
directorionpmlog
directorio.npm
y luego se clonó el repositorio github directamente en el directorio nuevamente.
Esperemos que alguno de ustedes haya encontrado esto antes o tengan una idea de cómo abordarlo. Cualquier ayuda es apreciada.
Acabo de encontrar este problema en una Mac, y en una inspección más cercana me parece que el problema es que dentro del directorio de la aplicación Nodo en determinadas circunstancias, el enlace en el directorio node/bin
a npm
en lib/node_modules/npm/bin
es reemplazado por el archivo en sí y es por eso que falla (y por qué todos los diversos métodos de script lo arreglan, porque retienen correctamente el enlace del archivo).
Si copio el contenido del node-v6.9.4-darwin-x64
con cp
entonces node-v6.9.4-darwin-x64
este problema, pero si copio los archivos con el Finder, no lo hago. Por lo tanto, puede solucionarlo recreando manualmente el enlace con ln
si no desea usar Finder (alternativamente, mv
o rsync -a
podrían funcionar; no los he probado).
Espero que esto ayude a alguien a venir aquí por este problema.
Editar: Acabo de encontrar accidentalmente el motivo del problema en Macs (para mi caso particular, en cualquier caso): siempre he usado cp -r
para copiar directorios. Esto es porque soy viejo y ya no aprendo cosas nuevas. La forma correcta es cp -R
, que copia correctamente todo, como debería.
Aquí hay un buen enlace Fixing npm On Mac OS X for Homebrew Users
.
con los siguientes comandos cuando intentes actualizar node.js
bajo mac
rm -rf /usr/local/lib/node_modules brew uninstall node brew install node --without-npm echo prefix=~/.npm-packages >> ~/.npmrc curl -L https://www.npmjs.com/install.sh | sudo sh
Encontré este mismo error. Esto fue en un servidor no conectado a internet. Había visto un hilo en Github que mencionaba que a veces los enlaces simbólicos pueden eliminarse mientras se realizan copias u otras operaciones de archivos. Así que hice un "buscar" en el directorio de nodos para enlaces simbólicos del servidor problemático y no encontré ninguno. Hacer lo mismo en un servidor que funciona encontró archivos de enlace simbólicos.
Fui a NODE_HOME / bin e hice una ls -l
Efectivamente, tenía un archivo para npm. Realizó los mismos pasos en un servidor en funcionamiento y el archivo npm fue un enlace simbólico. Para arreglar el servidor problemático, realicé lo siguiente:
rm npm
ln -s ../lib/node_modules/npm/bin/npm-cli.js npm
Estos son los pasos que funcionaron para mí:
$ sudo rm -rf /usr/local/bin/npm
$ sudo rm -rf /usr/local/lib/node_modules/npm
$ brew uninstall node
$ brew install node
Llegué a esto en Fedora 27 después de ejecutar sudo npm install npm -g
.
El problema fue que inicialmente había instalado Node.js a través de sudo dnf install nodejs
que instala npm en /usr/local/bin
y /usr/local/lib
. Sin embargo, al ejecutar sudo npm install
instala una versión separada en /usr/bin/
Ejecutando which npm
muestra que el npm adicional está instalado. Luego, el siguiente me limpió todo:
$ sudo rm /usr/bin/npm
$ sudo rm -rf /usr/lib/node_modules/npm
$ dnf remove -y nodejs
$ dnf install -y nodejs
No necesariamente "solucioné" el problema tanto como comencé de nuevo. Utilicé esta publicación para hacerlo: ¿Cómo desinstalo completamente Node.js y lo vuelvo a instalar desde el principio (Mac OS X)?
Si alguien más sabe cómo solucionar realmente el problema o sabe lo que hice para causarlo, aún estaría muy interesado.
Obtuve el mismo error al instalar el transportador en REDHAT.
npm
archivo en
/node-v6.10.2-linux-x64/bin/npm
para la ruta del módulo de la siguiente manera:
Código antes
var log = require(''npmlog'')
Código después
var log = require(''/node-v6.10.2-linux-x64/lib/node_modules/npm/node_modules/npmlog'')
Para mí, ejecuté brew uninstall node
y luego descargué la última versión de nodejs.org y funcionó.
Pruebe curl -0 -L http://npmjs.org/install.sh | sudo sh
curl -0 -L http://npmjs.org/install.sh | sudo sh
para seguir redirecciones. También noté que agregué sudo antes del comando sudo sh dependiendo de los permisos de los usuarios.
en mi condición, solo brew uninstall node
y lo descargué del sitio oficial y trabajé para mí