cmd no puede ejecutar el archivo dentro de /cygdrive/c/

cmd no puede ejecutar el archivo dentro de /cygdrive/c/

Estoy ejecutando una aplicación Ruby on Rails; dentro de la aplicación hay una Ruby Gem que cargué y que determina la ubicación de un archivo ejecutable llamado pngcrush. La forma en que lo hace es ejecutando el comando which pngcrush, que devuelve /cygdrive/c/Windows/system32/pngcrush. Sin embargo, cuando la gema intenta emitir el comando mediante una llamada al sistema, `/cygdrive/c/Windows/system32/pngcrush somefile.jpg newfile.jpg`falla. Parece que puede ENCONTRAR el archivo pero no ejecutarlo, tal vez porque se está ejecutando dentro cmdy no bash.

es decir, dentro cmdescribo: /cygdrive/c/Windows/system32/pngcrushy obtengo The system cannot find the path specified. Cuando cmdescribo bash, luego dentro de bash escribo lo mismo, funciona. No puedo modificar la gema porque su autor es otra persona.

Respuesta1

Creo que un programa como Ruby no toma rutas como esta /cygdrive/c/windows/, sino que tendría su propio entorno, intentaría descubrir cuál es su entorno y luego intentaría ejecutar algún otro comando e imprimir su ruta. Debe entender cómo llama a otros programas.

Respuesta2

Instale la versión cygwin de pngcrush en lugar de, o además de, la versión de Windows de pngcrush. La versión cygwin debería funcionar correctamente.

información relacionada