mac last instalar node.js npm

node.js - last - Instalación global de NPM "no se puede encontrar el módulo"



npm last version (14)

Escribí un módulo que publiqué a npm hace un momento (https://npmjs.org/package/wisp)

Por lo tanto, se instala bien desde la línea de comandos:

$ npm i -g wisp

Sin embargo, cuando lo ejecuto desde la línea de comando, sigo recibiendo un error de que el optimist no está instalado:

$ wisp Error: Cannot find module ''optimist'' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:362:17) at require (module.js:378:17) at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:12:10) at Object.<anonymous> (/usr/local/lib/node_modules/wisp/wisp:96:4) at Module._compile (module.js:449:26) at Object.exports.run (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:68:25) at compileScript (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:135:29) at fs.stat.notSources.(anonymous function) (/usr/local/lib/node_modules/coffee-script/lib/coffee-script/command.js:110:18)

Sin embargo, he especificado en package.json como una dependencia:

{ "name": "wisp", "author": "Brendan Scarvell <[email protected]>", "version": "0.1.0", "description": "Global nodejs file server", "dependencies": { "optimist": "~0.3.4" }, "repository": "git://github.com/tehlulz/wisp", "bin": { "wisp" : "./wisp" } }

¿Alguien sabe qué hacer para que esto funcione? Sé que tiene que ver con la parte bin que agrega el ejecutable a bin y los node_modules en ese directorio están vacíos. No tengo idea de cómo resolver esto.


$ vim /etc/profile.d/nodejs.sh

NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript export NODE_PATH="$NODE_PATH"


En Windows, si acabas de hacer una instalación limpia y obtienes esto, necesitas volar tu npm caché en / AppData / Roaming


En mi caso, tanto el node como el npm estaban en la misma ruta ( /usr/bin ). NODE_PATH estaba vacío, por lo que npm colocó los módulos globales en /usr/lib/node_modules donde require(...) encontrarlos con éxito. La única excepción fue el módulo npm , que venía con el paquete nodejs. Como uso el sistema de 64 bits, se colocó en /usr/lib64/node_modules . Aquí no es donde requieren (...) búsquedas en caso de que NODE_PATH vacío y el nodo haya comenzado desde /usr/bin . Entonces tuve dos opciones:

  • link /usr/lib64/node_modules/npm a /usr/lib/node_modules/npm
  • mover módulos de /usr/lib/node_modules/* a /usr/lib64/node_modules/ y establecer NODE_PATH=/usr/lib64/node_modules

Ambos funcionaron. Estoy usando OpenSUSE 42.1 y el paquete nodejs desde el repositorio de actualizaciones. La versión es 4.4.5.


Hice esto de manera simple ...

  1. Desinstalar nodo del panel de control [Windows 7]
  2. Instalar nodo nuevamente
  3. Instalar el transportador npm install --global --verbose protractor
    Actualizar el administrador del controlador web.

funciona bien para mí

Espero que esto te ayude....


Obtuve este error Error: Cannot find module ''number-is-nan'' mientras que el módulo existe realmente. Fue debido a una instalación incorrecta / incompleta de Node.js.

Para Windows, como lo sugieren otras respuestas, necesita una instalación limpia del Nodo :

  • Desinstalar Node.js
  • Elimine las dos carpetas npm y npm_cache en C:/Users/user/AppData/Roaming
  • Reinicie Windows e instale Node.js
  • Ejecute npm init o ( npm init --yes para configuración predeterminada )
  • Establezca la variable de entorno de Windows para NODE_PATH . Esta ruta es donde se instalan sus paquetes. Probablemente sea algo así como NODE_PATH = C:/Users/user/node_modules or C:/Users/user/AppData/Roaming/npm/node_modules
  • Inicie una nueva consola de cmd y npm debería funcionar bien

Nota :

Pruebe los últimos puntos antes de reinstalar Node.js, podría ahorrarle algo de tiempo y evitar volver a instalar todos sus paquetes.



Para algunos (como yo) que nada más funcionó, prueba esto:

brew cleanup brew link node brew uninstall node brew install node

Espero que ayude a alguien :)


Para cualquiera que se encuentre con esto, tuve este problema debido a mi instalación de npm en una ubicación que no está en mi NODE_PATH .

[root@uberneek ~]# which npm /opt/bin/npm [root@uberneek ~]# which node /opt/bin/node [root@uberneek ~]# echo $NODE_PATH

Mi NODE_PATH estaba vacía, y la ejecución de la npm install --global --verbose promised-io mostró que se estaba instalando en /opt/lib/node_modules/promised-io :

[root@uberneek ~]# npm install --global --verbose promised-io npm info it worked if it ends with ok npm verb cli [ ''/opt/bin/node'', npm verb cli ''/opt/bin/npm'', npm verb cli ''install'', npm verb cli ''--global'', npm verb cli ''--verbose'', npm verb cli ''promised-io'' ] npm info using [email protected] npm info using [email protected] [cut] npm info build /opt/lib/node_modules/promised-io npm verb from cache /opt/lib/node_modules/promised-io/package.json npm verb linkStuff [ true, ''/opt/lib/node_modules'', true, ''/opt/lib/node_modules'' ] [cut]

Mi script falla en require(''promised-io/promise'') :

[neek@uberneek project]$ node buildscripts/stringsmerge.js module.js:340 throw err; ^ Error: Cannot find module ''promised-io/promise'' at Function.Module._resolveFilename (module.js:338:15)

Probablemente instalé node y npm desde la fuente usando configure --prefix=/opt . No tengo idea de por qué esto los ha hecho incapaces de encontrar módulos instalados. La solución por ahora es señalar NODE_PATH en el directorio correcto:

export NODE_PATH=/opt/lib/node_modules

Mi require(''promised-io/promise'') ahora tiene éxito.


Por defecto, el nodo no mira dentro del / usr / local / lib / node_module para cargar módulos globales. Consulte la carga del módulo explicada en http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders

Entonces, o bien tiene que 1) agregar el / usr / local / lib / node_module a NODE_PATH y exportarlo o 2) copiar los módulos de nodo instalados a / usr / local / lib / node. (Como se explica en el enlace para cargar el nodo del módulo buscará en esta ruta y funcionará)



Tuve el mismo error que el OP, pero al hojear los registros pude ver que sh: node: command not found .

Resulta que el programa / usr / bin / node (symlink) ya no está instalado con apt install nodejs . Una vez enlazado simbólicamente /usr/bin/node'' to nodejs , npm install -g @ angular / cli` fue exitosa.

La forma correcta de instalar esto en debian es apt install nodejs-legacy .


Tuve el mismo problema en uno de los servidores de prueba con Ubuntu en la root . Luego creé un nuevo usuario usando useradd -m myuser e instalé todo ( nvm , node , packages) como myuser . Ahora está funcionando bien.


Tuve este problema para request-promise . En mi caso, reemplazando:

npm install request-promise --global

con

npm install request-promise --cli

trabajado ( source )

Además, intente configurar la variable de entorno

NODE_PATH=%AppData%/npm/node_modules


agregue esto al comienzo de prog (mac):

module.paths.push(''/usr/local/lib/node_modules'');