node.js - tutorial - node_path no se reconoce como un comando interno o externo
No se puede encontrar el módulo ''findup-sync'' cuando se intenta ejecutar grunt (4)
Estoy teniendo problemas para ejecutar grunt-cli
después de instalarlo. Corro
npm install -g grunt-cli
entonces ejecutando errores grunt con
node.js:63
throw e;
^
Error: Cannot find module ''findup-sync''
at loadModule (node.js:275:15)
at require (node.js:411:14)
at Object.<anonymous> (/home/tmartin/bin/grunt:9:14)
at Module._compile (node.js:462:23)
at Module._loadScriptSync (node.js:469:10)
at Module.loadSync (node.js:338:12)
at Object.runMain (node.js:522:24)
at Array.<anonymous> (node.js:756:12)
at EventEmitter._tickCallback (node.js:55:22)
at node.js:773:9
Esto es lo que he instalado:
tmartin@timcomp:~$ npm list -g
/home/tmartin/lib
└─┬ [email protected]
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ └── [email protected]
└─┬ [email protected]
└── [email protected]
Conseguí el mío funcionando nuevamente, reinstalando grunt-cli globalmente y en mi repositorio.
npm install -g grunt-cli
cd myrepo
npm install grunt-cli
Creo que la instalación de Yosemite rompió algunas cosas en mis archivos ...
Esto puede parecer simple, pero si alguien más no está seguro si hay un problema con los permisos, intente ejecutar sudo grunt
luego vaya desde allí.
Esto se debe a que npm no establece el permiso correcto para subdirectorios node_modules en / usr / lib / node_modules / grunt-cli. En mi caso, tuve:
drwxr-x--- 6 nobody root 4096 16 févr. 17:08 node_modules
Al ejecutar grunt como usuario no root, tuve el mismo error (no se puede encontrar el módulo ''findup-sync'') debido a un permiso denegado para leer este directorio.
La solución es arreglar el permiso con chmod: chmod a + rx node_modules.
Pero de hecho, todos los directorios estaban involucrados. La mejor manera era hacer todo:
find /usr/lib/node_modules/grunt-cli -type d -exec chmod a+rx {} /;
Esto es quizás un error de distribución (yo uso Archlinux).
Tuve que instalar y vincular Findup-Sync y algunos otros paquetes npm para que estos problemas de dependencia desaparecieran. Pensé que npm debía manejarlas por nosotros, pero la instalación manual de las dependencias hizo que los problemas desaparecieran.
npm install findup-sync -g
npm link findup-sync