我试图运行一个红宝石脚本,在其中我使用了exiftool,而且每次我试图运行它时,即使在安装它之后,我仍然会得到这个错误。此外,在运行后,邦德勒以及。

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)

而且,它正在我的cmd上运行。我试着用irb测试它,而Exiftool没有被ruby识别。

发布于 2022-02-12 07:01:24
我是exiftool.rb和vendored.rb repos的维护者。@Zeragamba是正确的,gem不支持Windows环境。在过去的十年里,在Windows上运行它的需求一直没有引起我们的注意。我已经研究过这个问题,并削减了一个单独的分支,应该与Windows一起工作,但我不打算完全支持Windows,除非有一个压倒一切的需求。在实现Windows支持方面有一些问题,我不确定在这一点上是否值得花时间和精力来解决这些问题。
为了让它发挥作用,你需要做几件事:
exiftool_vendored.rb gem --它将安装菲尔·哈维提供的exiftool的perl版本。git提示符中运行PowerShell客户端命令我已经在Windows 10和ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x64-mingw32]上测试了以下设置
PATH中,并且可以在PowerShell中执行Gemfilesource 'https://rubygems.org'
gem 'exiftool', github: 'exiftool-rb/exiftool.rb', branch: 'win_support'bundle install从那个分支获取exiftool。test.rb文件:require 'exiftool'
puts "Exiftool command: #{Exiftool.command}"
puts "Is Exiftool Installed?: #{Exiftool.exiftool_installed?}"
puts "Exiftool version: #{Exiftool.exiftool_version}"运行它之后,您应该得到如下内容:
PS C:\Users\sergey>ruby .\test.rb
Exiftool command: exiftool
Is Exiftool Installed?: true
Exiftool version: 12.40再次请记住,这不是一个支持Windows环境的官方版本。如果您强烈认为gem需要支持Windows环境,那么随时可以在github上打开一个问题,PRs也总是受欢迎的。
谢谢。
发布于 2022-02-11 14:59:37
看起来,exiftool gem目前不支持windows环境。在运行shell命令时,它通常会追加2> /dev/null/。
您可以尝试在WSL下运行脚本,也可以尝试直接调用命令。
https://stackoverflow.com/questions/71068203
复制相似问题