我们有基于应用程序的Ruby on Rails -v 2.3.18,并且在wkhtmltopdf版本上有问题。 在我的本地,OSX El Capitan 10.11.3,安装,
gem install wkhtmltopdf-binary -v 0.9.9.1
然后,
wkhtmltopdf -V
我将拥有wkhtmltopdf版本 0.9.9 。
但是在我们的服务器,Ubuntu 13.10(GNU / Linux 3.11.0-12-generic x86_64)中,使用相同的gem wkhtmltopdf-binary安装,wkhtmltopdf版本 0.9.6 。
我曾尝试在服务器上安装最新的gem版本,
gem install wkhtmltopdf-binary -v 0.9.9.3
但是wkhtmltopdf版本仍然相同, 0.9.6 。
我需要在服务器上使用 0.9.9 。有人可以帮助我们吗?需要sugest。
谢谢。
注意:我们已在本地和服务器上使用相同版本的ruby(1.8.7)和rails(2.3.18)。
答案 0 :(得分:0)
服务器上which wkhtmltopdf
的输出是多少?我的猜测是/usr/local/bin
中的内容,这意味着1)您的服务器上安装了wkhtmltopdf,以及2)安装的版本优先于您安装的gem版本,这就是您没有看到最新版本的原因。你有几个我能想到的选择:
确保您已为wkhtmltopdf安装了binstub,然后无论何时在Ruby代码中使用wkhtmltopdf,而不是调用wkhtmltopdf
,请致电bin/wkhtmltopdf
。这应该强制您的代码使用最新的gem安装版本。
从您的系统中删除本地wkhtmltopdf版本(也许是sudo apt-get remove wkhtmltopdf
?)随着它的消失,您的服务器应默认使用gem安装版本。
将您的系统wkhtmltopdf版本升级到正确的版本。这可能需要从源代码安装它,因为你的Ubuntu版本相当旧。
请注意,如果您不手动配置和维护服务器,则更容易避免此类问题。容器技术,如Docker或Heroku使用的Cedar堆栈,或者只是像Vagrant或Otto这样的配置技术,允许您每次都从头开始构建一个准系统服务器。这意味着您可以轻松更新服务器依赖项,而不需要依赖wkhtmltopdf-binary等宝石。