node.js - node - No se puede encontrar async después de la instalación
node js español (6)
Hoy, lo extraño es que después de instalar async en global, nodejs informa que no puede encontrar el módulo. Seguir el flujo de trabajo
instalar async
npm instalar -g async
asegúrate de que existe async
npm list -g async
obtener esta salida:
/usr/local/lib ├── [email protected] └─┬ [email protected] └─┬ [email protected] └─┬ [email protected] └── [email protected]
3.Utilizarlo para usarlo.
I create a simple js file which only contains one statement: var async=require(''async''); then execute the file via node, I get exception:
Error: Cannot find module ''async'' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (/lxzhu/nodejs/asynctest/test.js:1:73) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)
Async instalado globalmente. Para eso tenemos que crear e instalar módulos de async.
npm instalar async --save
esta línea de comando agrega archivos en la carpeta node_modules.
Es porque estas instalando async globalmente.
npm install async
creará un directorio llamado node_modules
, y el algoritmo de búsqueda require
lo encontrará allí.
Finalmente, recibo la respuesta de http://nodejs.org/api/modules.html.
Después de la instalación global, necesito poner su subdirectorio en NODE_PATH para que aparezca en la ruta de búsqueda del nodo.
Además, como se indica en el documento, se sugiere almacenar el módulo localmente y NODE_PATH es para compatibilidad de versiones y no debemos usarlo más.
La forma correcta de usar módulos instalados globalmente en múltiples proyectos es usar el comando npm link
npm link
creará un enlace simbólico del paquete instalado globalmente en su directorio de aplicaciones node_modules
Edición: dado que npm @ 5 hace una instalación local npm install foo
se vinculará desde un caché del sistema similar a la estrategia de yarn. Entonces use npm install
para local incluso cuando tenga el mismo módulo instalado globalmente
Una instalación global de un NPM no siempre significa que el módulo se puede compartir para múltiples proyectos. Este es un error muy popular. Puede leer esta publicación del blog en nodejs.org para obtener más información, pero en general, los módulos globales se usan para las herramientas de línea de comandos y otras utilidades del sistema, no para los módulos que se usarán en su código.
Entonces, idealmente, necesitarías los módulos localmente para cada uno de tus proyectos.
si no encuentra ningún módulo como
No se puede encontrar el módulo ''sql'', No se puede encontrar el módulo ''nodemailer'' y luego usar npm install y el nombre del módulo que no se puede encontrar. npm instalar async