【问题标题】:wkhtmltopdf-binary not being found on development server在开发服务器上找不到 wkhtmltopdf-binary
【发布时间】:2020-04-18 13:45:48
【问题描述】:

在 localhost 上的测试正在按预期运行 wicked-pdf gem 输出。它依赖于 wkhtmltopdf。

根据indications here我确定并验证了这个目录在Ubuntu 18.04开发服务器上的存在:

~/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/wkhtmltopdf-binary-0.12.5.4/bin 

然后更改访问权限

chmod -R 777 ~/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/wkhtmltopdf-binary-0.12.5.4/bin

是的,bundle install 返回

Using wkhtmltopdf-binary 0.12.5.4

which wkhtmltopdf 返回

/home/deploy/.rbenv/shims/wkhtmltopdf

虽然wickedPDF gem instructions 鼓励创建初始化程序。然而,/usr/local/bin/ 目录中只有两个文档:bundle 和 bundler。所以我对发生的事情一无所知......

仍然访问调用.pdf 扩展的操作会返回错误

RuntimeError in [class]Controller#pdf
Location of wkhtmltopdf unknown

如何正确访问wkhtmltopdf?

【问题讨论】:

    标签: ruby-on-rails wicked-pdf wkhtmltopdf-binary


    【解决方案1】:

    解决方案的所有要素都在问题中。

    一个被遗忘的元素是服务器是多用户的,而 wkhtmltopdf 最初是由另一个用户安装的。如wkhtmltopdf gem page states,安装时出现权限问题;然后观察到这些权限已分配给其他用户。

    根据 wicked PDF gem 的链接,创建一个包含以下内容的初始化程序:

    WickedPdf.config = {
      exe_path: '/home/deploy/.rbenv/shims/wkhtmltopdf'
    }
    

    解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 2013-07-07
      • 2012-02-28
      • 2017-05-10
      • 1970-01-01
      相关资源
      最近更新 更多