Estoy tratando de instalar globalmente un módulo npm que acabo de publicar. Cada vez que intento instalar, ya sea desde npm o desde la carpeta, aparece este error.
npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/takeapeek/lib/cmd.js'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Linux 3.8.0-19-generic
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "takeapeek"
npm ERR! cwd /home/giodamlio
npm ERR! node -v v0.10.6
npm ERR! npm -v 1.3.6
npm ERR! path /usr/local/lib/node_modules/takeapeek/lib/cmd.js
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/giodamlio/npm-debug.log
npm ERR! not ok code 0
Estoy usando sudo y he verificado tres veces todo en el paquete, todo debería funcionar. Hice un poco de búsqueda y vi un par de casos similiar ninguno de los cuales se han resuelto. Esto es lo que probé.
- Actualizar npm (
sudo npm install -g npm
) - Borrar el caché global npm (
sudo npm cache clear
) - Borrar el caché npm del usuario (
npm cache clear
)
Noté que el error tenía que ver con el archivo que estoy vinculando a la ruta, específicamente cuando npm intentó hacer un chmod. Eso no debería ser un problema, mi lib/cli.js
tiene permisos normales y npm tiene permisos de superusuario durante esta instalación.
Después de buscar en los documentos de npm, encontré una opción que evitaría que npm creara los enlaces bin ( --no-bin-links
), cuando probé la instalación con él, funcionó bien.
Entonces, ¿cuál es el trato? ¿Es este un extraño error marginal que aún no tiene solución?
Editar: para referencia, aquí está el módulo que cargué
--no-bin-links
sólo se detiene la NGP de enlaces simbólicos en los archivos de la package.json bin
hash para el camino de la instalación global.