Pandocのエラー(openBinaryFile: does not exist (No such file or directory)

Pandocのエラー解決策覚書です。

Pandocの使い方はこちらです。

Pandocのエラー

openBinaryFile: does not exist (No such file or directory)

openBinaryFile: does not exist (No such file or directory)

パスは正しいはずなのにこのエラーがでます。相対パスをフルパスにすると解決しました。

const epubCoverImagePath = path.join(__dirname, epubCoverImageRelativePath);

この1行は、2つの作業を行っています。

相対パスを絶対パスに変換する
その絶対パスを変数epubCoverImagePathに格納する

  • __dirnameは、現在のスクリプトが実行されているディレクトリの絶対パスを表す特殊な変数です。
  • epubCoverImageRelativePathは、metadata-epub.yamlファイルから読み取った相対パスです(例: “theme/cover.png”)。
  • path.join()は、Node.jsのpathモジュールの関数で、引数で指定された複数のパス文字列を結合して1つの絶対パスを作成します。
  • つまり、path.join(__dirname, epubCoverImageRelativePath)は、現在のディレクトリのパスとepubCoverImageRelativePathを組み合わせて、カバー画像ファイルの絶対パスを生成しています。
  • その絶対パスがepubCoverImagePathに代入されます。


このように、相対パスではなく絶対パスを使うことで、スクリプトの実行環境に依存せずに、カバー画像ファイルの正しい場所を指定できるようになります。

[WARNING] This document format requires a nonempty element.

[WARNING] This document format requires a nonempty <title> element.
  Defaulting to 'index' as the title.
  To specify a title, use 'title' in metadata or --metadata title="...".

タイトルがないだけみたいです。タイトルをつけるとePUBではタイトルが表示されます。

---
title: "ePUB変換"
---

openBinaryFile: invalid argument (Invalid argument)

一括変換しようとした際に出たエラーです。なかなか解決策がなくフランス語のサイトをあさっていたら解決しました^^;。

openBinaryFile: invalid argument (Invalid argument)
pandoc *.md -o output.html
↓
pandoc $(dir *.md) -o output.html

サブフォルダもあわせて指定する場合はこう。

pandoc $(dir *.md) $(Get-ChildItem ./markdown/*.md) -o output.html
pandoc $(dir *.md) $(dir./markdown/*.md) -o output.html

En effet *.md n’est pas reconnu en powershell mais uniquement en shell sh ou bash.

https://forum.canardpc.com/threads/130205-Resolu-Utilisation-de-Pandoc-sous-windows

根本的なところではPowerShellではダメみたい。bashやshじゃないと。

bash --v
bash: The term 'bash' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

たしかにWindowsには入れてなかった。。

入れるのが面倒だったので、とりあえずWindowsならではのバッチファイルにして対応しました。

参考になれば幸いです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする