在开发服务器上找不到 wkhtmltopdf-binary
wkhtmltopdf-binary not being found on development server
在本地主机上的测试是 运行 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
returns
Using wkhtmltopdf-binary 0.12.5.4
which wkhtmltopdf
returns
/home/deploy/.rbenv/shims/wkhtmltopdf
虽然 wickedPDF gem instructions 鼓励创建初始化程序。但是目录 /usr/local/bin/
中只有两个文件:bundle 和 bundler。所以我对发生的事情一无所知...
仍在访问调用 .pdf
扩展程序的操作 returns 错误
RuntimeError in [class]Controller#pdf
Location of wkhtmltopdf unknown
如何正确访问wkhtmltopdf?
所有的解决方案都在问题中。
一个被遗忘的因素是服务器是多用户的,wkhtmltopdf 最初是由另一个用户安装的。如wkhtmltopdf gem page states,安装时出现权限问题;然后观察到这些权限已分配给其他用户。
根据 link to wicked PDF gem,创建一个初始化程序包含:
WickedPdf.config = {
exe_path: '/home/deploy/.rbenv/shims/wkhtmltopdf'
}
解决了问题。
在本地主机上的测试是 运行 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
returns
Using wkhtmltopdf-binary 0.12.5.4
which wkhtmltopdf
returns
/home/deploy/.rbenv/shims/wkhtmltopdf
虽然 wickedPDF gem instructions 鼓励创建初始化程序。但是目录 /usr/local/bin/
中只有两个文件:bundle 和 bundler。所以我对发生的事情一无所知...
仍在访问调用 .pdf
扩展程序的操作 returns 错误
RuntimeError in [class]Controller#pdf
Location of wkhtmltopdf unknown
如何正确访问wkhtmltopdf?
所有的解决方案都在问题中。
一个被遗忘的因素是服务器是多用户的,wkhtmltopdf 最初是由另一个用户安装的。如wkhtmltopdf gem page states,安装时出现权限问题;然后观察到这些权限已分配给其他用户。
根据 link to wicked PDF gem,创建一个初始化程序包含:
WickedPdf.config = {
exe_path: '/home/deploy/.rbenv/shims/wkhtmltopdf'
}
解决了问题。