【问题标题】:Rails wkhtmltopdf on Mac getting command failedMac上的Rails wkhtmltopdf获取命令失败
【发布时间】:2013-10-19 02:52:17
【问题描述】:

我在 Rails 应用程序中使用 gem 'pdfkit'。 它在 Heroku 上运行良好,但在我的 iMac 上出现错误。

错误:

command failed: "/users/myname/sites/ndeavor2/bin/wkhtmltopdf-amd64"

应用程序wkhtmltopdf-amd64在错误指示的文件夹中!

我的 application.rb 有:

    config.middleware.use "PDFKit::Middleware", :print_media_type => true

我有一个名为 pdfkit.rb 的初始化程序

PDFKit.configure do |config|
  config.wkhtmltopdf = Rails.root.join('bin', 'wkhtmltopdf-amd64').to_s
end

感谢您的帮助!

更新1

我下载了wkhtmltopdf.app,放在和amd64版本一样的位置。

我把 pdfkit.rb 改成:

PDFKit.configure do |config|
  config.wkhtmltopdf = Rails.root.join('bin', 'wkhtmltopdf-amd64').to_s if Rails.env.production?
  config.wkhtmltopdf = Rails.root.join('bin', 'wkhtmltopdf.app').to_s if Rails.env.development?
end

我还将 wkhtmltopdf.app 的副本放入应用程序文件夹并尝试了这个:

  config.wkhtmltopdf = '/applications/wkhtmltopdf.app' if Rails.env.development?

我收到此错误:

command failed: 

【问题讨论】:

  • 好吧,我马上就想知道为什么它调用wkhtmltopdf-amd64,而 iMac 将是英特尔架构。这看起来很可疑。
  • 更新了我的答案。忘记了让事情变得可执行。我喜欢你的解决方案,它能够非常彻底地区分开发环境和生产环境。

标签: ruby-on-rails wkhtmltopdf pdfkit


【解决方案1】:

wkhtmltopdf-amd64 是用于 amd64 平台计算机的二进制文件。除非你的 iMac 在引擎盖下有 AMD 芯片,否则这就是它失败的原因。你想要 OS X 二进制文件: http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltopdf-0.9.9-OS-X.i368

Heroku 必须在 AMD64 上运行,否则它们的虚拟化是 AMD 架构。这应该是它适用于 Heroku 的原因。

更新:您可能想要从这里获得适用于 OS X 的完整应用程序: http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltopdf.dmg

不确定您是如何安装 wkhtmltopdf 的,所以不知道哪个适合您的设置。

更新!!!

如果您下载 wkhtmltopdf-0.9.9-OS-X.i368 二进制文件,您可以将其重命名为 wkhtmltopdf:

mv wkhtmltopdf-0.9.9-OS-X.i368 wkhtmltopdf

那么你需要让它可执行:

chmod 775 wkhtmltopdf

然后您可以测试它是否运行:

./wkhtmltopdf

您应该会看到帮助/使用信息。

如果您下载了 .dmg 文件,它是一个打包的应用程序,但要从程序中调用它,您必须提供可执行文件的路径:

wkhtmltopdf.app/Contents/MacOS/wkhtmltopdf

这是一个相对路径(注意 wkhtmltopdf.app 之前没有斜线),因此请相应地对待。 .dmg 版本的二进制文件为 .11 与 .09。不过不知道有什么区别,您必须查看文档。

【讨论】:

  • 感谢您的信息。当我保存下载的文件时,我是保留扩展名为 .i368 还是更改它?因为我收到了 noexecutable 错误。
  • 感谢您的帮助!!
猜你喜欢
  • 1970-01-01
  • 2014-01-04
  • 2023-03-15
  • 1970-01-01
  • 2011-06-08
  • 2019-10-30
  • 2016-04-26
  • 2013-01-04
  • 1970-01-01
相关资源
最近更新 更多