0

我想分发一个用于 Mac/Windows 的 Ruby 脚本的可执行文件,该脚本(除了其他东西)将执行从/到常见图像格式到 .xpm / X PixMap(维基百科)的转换

我知道以下作为预安装库(主要是 ImageMagick)的包装器的 gem:RMagick、Mini magick、Image science、Magickly、Devil、Im magick、Free-image 等。

据我了解,问题归结为以下几点: Imagemagick 和 Freeimage 需要安装在系统上,而不仅仅是在脚本中以相对方式指出。并且 Ruby2Exe、Ocra、Crate 没有将库和我的脚本作为可执行文件分发的功能。

我还没有发现一个 gem 可以在不使用外部库的情况下执行此操作,是否有技术原因?我的问题有哪些可能的解决方案?

4

1 回答 1

0

一种可能的解决方案:

查找可以执行所需转换的免费命令行实用程序。最好的是不需要任何特殊安装(只需将 EXE 文件放到硬盘驱动器上并运行它)。

在您的 Ruby 程序中,使用反引号调用命令行实用程序。如果它不在系统路径上,您可能必须调用它utility.exe而不是utility. 因此,无论当前工作目录如何,您都可以正确调用它,您可能必须使用绝对路径,使用File.dirname(__FILE__)and生成File.expand_path。或者在尝试调用该实用程序之前更改工作目录。

最后,您只需将该实用程序与您的 Ocra 生成的 Ruby EXE 打包在一起。

我建议所有这些,因为我知道尝试在 Windows 系统上安装 RMagick 可能会非常痛苦。

于 2012-06-29T21:21:49.363 回答