Estoy tratando de ejecutar un script de ruby donde usé la gem exiftool, y cada vez que intento ejecutarlo, sigo recibiendo este error incluso después de instalarlo. Además, después de ejecutar bundler también.
Traceback (most recent call last): C:/Ruby27-x64/lib/ruby/gems/2.7.0/gems/exiftool-1.2.4/lib/exiftool.rb:60:in `initialize': Exiftool::ExiftoolNotInstalled (Exiftool::ExiftoolNotInstalled)Además, se está ejecutando en mi cmd. Intenté probarlo usando irb y Ruby no reconoce Exiftool.
Soy el mantenedor de los repositorios exiftool.rb y exiftool_vendored.rb . @Zeragamba tiene razón en que la gema no es compatible con entornos de Windows. La necesidad de ejecutarlo en Windows no nos ha llamado la atención en los últimos 10 años. Revisé el problema y corté una rama separada que debería funcionar con Windows, sin embargo, no planeo admitir completamente Windows a menos que haya una demanda abrumadora. Hay algunos errores relacionados con la implementación del soporte de Windows y no estoy seguro de si vale la pena el tiempo y el esfuerzo para resolverlos en este momento.
Un par de cosas que tendrías que hacer para que funcione:
Si está instalado, elimine la gema exiftool_vendored.rb de su sistema Windows: instala la versión perl de exiftool de Phil Harvey.
Asegúrese de poder ejecutar los comandos del cliente git en su indicador de PowerShell
Probé la siguiente configuración en Windows 10 y ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x64-mingw32]
Descargue e instale el ejecutable de Windows desde el sitio Exiftool de Phil Harvey, asegúrese de que exiftool esté en su PATH y se pueda ejecutar en PowerShell
Cree el siguiente Gemfile :
source 'https://rubygems.org' gem 'exiftool', github: 'exiftool-rb/exiftool.rb', branch: 'win_support'bundle install para obtener exiftool de esa rama.test.rb para probar la instalación: require 'exiftool' puts "Exiftool command: #{Exiftool.command}" puts "Is Exiftool Installed?: #{Exiftool.exiftool_installed?}" puts "Exiftool version: #{Exiftool.exiftool_version}"Después de ejecutarlo, deberías obtener algo como lo siguiente:
PS C:\Users\sergey>ruby .\test.rb Exiftool command: exiftool Is Exiftool Installed?: true Exiftool version: 12.40Una vez más, tenga en cuenta que esta no es una versión oficial compatible con el entorno de Windows. Siéntase libre de abrir un problema en github si cree firmemente que la gema necesita ser compatible con los entornos de Windows, los PR siempre son bienvenidos también.
Gracias.
Parece que la gema exiftool actualmente no admite entornos de Windows. A menudo agrega 2> /dev/null/ cuando ejecuta comandos de shell.
Potencialmente, podría intentar ejecutar el script bajo WSL, o podría intentar invocar los comandos directamente.