Définition du chemin wkhtmltopdf dans les rails
-
29-10-2019 - |
Question
J'ai cette erreur lorsque j'essaye d'utiliser wicked_pdf:
irb: No such file or directory - which wkhtmltopdf
NoMethodError: You have a nil object when you didn't expect it!
The error occurred while evaluating nil.chomp
from C:/Ruby187/lib/ruby/gems/1.8/gems/wicked_pdf-0.7.2/lib/wicked_pdf.r
b:19:in `initialize'
from (irb):2:in `new'
from (irb):2
from :0
Je pense que le chemin vers wkhtmltopdf devrait être configuré.Mais comment?
La solution
Selon les sources , ajoutez-le simplementà votre $PATH
(le dossier contenant le binaire).
Autres conseils
Fournissez qc comme
:wkhtmltopdf => '/usr/local/bin/wkhtmltopdf', # path to binary
avec votre appel de rendu et assurez-vous qu'un binaire wkhtmltopdf réside sur ce chemin. (Vous pouvez obtenir wkhtmltopdf à partir du code google au cas où vous auriezpas encore installé)
Le projet Wkhtmltopdf ne peut plus être trouvé sur Google Code.Il a été déplacé vers http://wkhtmltopdf.org/downloads.html
Dans mon cas, je devais juste télécharger le binaire OSX et il a été automatiquement ajouté à ma variable PATH.
Créez un initialiseur: config/initializers/wicked_pdf.rb
:
WickedPdf.config = {
:exe_path => "#{ENV['GEM_HOME']}/bin/wkhtmltopdf"
}
:exe_path
doit contenir le chemin vers le binaire wkhtmltopdf
.Pour mon exemple, j'ai utilisé la gemme:
gem "wkhtmltopdf-binary"
Qui stockait le binaire dans mon GEM_HOME
, afin que je puisse référencer un chemin qui n'était pas codé en dur.