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

0

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

, ou seja, dentro de cmd , digito: /cygdrive/c/Windows/system32/pngcrush e obtenho The system cannot find the path specified . Quando em cmd eu digito bash , então no bash eu digito a mesma coisa, funciona. Eu não posso modificar a Gem como ela é de autoria de outra pessoa.

    
por JakeTheSnake 03.09.2014 / 20:30

2 respostas

0

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

    
por 03.09.2014 / 20:48
1

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

    
por 03.09.2014 / 20:42