cmd não pode executar arquivo dentro de /cygdrive/c/

cmd não pode executar arquivo dentro de /cygdrive/c/

Estou executando um aplicativo Ruby on Rails - dentro do aplicativo há um Ruby Gem que carreguei que determina a localização de um arquivo executável chamado pngcrush. A maneira como ele faz isso é executando o comando which pngcrush, que retorna /cygdrive/c/Windows/system32/pngcrush. No entanto, quando a gem tenta emitir o comando usando uma chamada do sistema, `/cygdrive/c/Windows/system32/pngcrush somefile.jpg newfile.jpg`ela falha. Parece que ele consegue ENCONTRAR o arquivo, mas não executá-lo, talvez porque esteja sendo executado dentro cmde não bash.

ou seja, dentro cmdeu digito: /cygdrive/c/Windows/system32/pngcrushe recebo The system cannot find the path specified. Quando cmddigito bash, no bash digito a mesma coisa, funciona. Não posso modificar a Gem porque ela é de autoria de outra pessoa.

Responder1

Eu acho que um programa como Ruby não segue caminhos como este /cygdrive/c/windows/, mas sim teria seu próprio ambiente, tente descobrir qual é seu ambiente e então tente executar algum outro comando e imprimir seu caminho, você deve entender como está chamando outros programas.

Responder2

Instale a versão cygwin do pngcrush em vez ou além da versão Windows do pngcrush. A versão cygwin deve funcionar corretamente.

informação relacionada