追記: fishでebbへのPATH指定したら解決しました
set -U fish_user_paths /Library/TeX/texbin $fish_user_paths
macOSのfishシェルを使っていて、Re:VIEWでPDF出力時にランタイムエラーになったのでbashで実行したら解決した(上に追記しているようにfishのPATHでebb指定して解決しました)。
環境は
- ruby: v2.4.1
- mactex-20170524.pkg
- review: v2.3.0
macOSで review
と md2review
をインストールしてpdf作成しようと思ったら下記のようなエラーが出た(カレントディレクトリはRakefileや.reファイルがある場所)。
➤ bundle exec review-pdfmaker config.yml
compiling iosdc2017guide.tex
bundler: failed to load command: review-pdfmaker (/Users/yimajo/.rbenv/versions/2.4.1/bin/review-pdfmaker)
RuntimeError: failed to run command: ebb cover.jpg
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/review-2.3.0/lib/review/pdfmaker.rb:42:in `system_or_raise'
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/review-2.3.0/lib/review/pdfmaker.rb:275:in `block in copy_images'
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/review-2.3.0/lib/review/pdfmaker.rb:268:in `chdir'
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/review-2.3.0/lib/review/pdfmaker.rb:268:in `copy_images'
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/review-2.3.0/lib/review/pdfmaker.rb:235:in `generate_pdf'
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/review-2.3.0/lib/review/pdfmaker.rb:132:in `execute'
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/review-2.3.0/lib/review/pdfmaker.rb:86:in `execute'
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/review-2.3.0/bin/review-pdfmaker:18:in `<top (required)>'
/Users/yimajo/.rbenv/versions/2.4.1/bin/review-pdfmaker:22:in `load'
/Users/yimajo/.rbenv/versions/2.4.1/bin/review-pdfmaker:22:in `<top (required)>'
yimajo@mbp2016:~/D/i/iosdc2017guide
エラーとしては ebb cover.jpg
で失敗している。ebb自体がツールでそれがインストールされていないかパスが通っていないのかとこのときは思っていた。
コマンド bundle exec review-pdfmaker config.yml
でなくbundle exec rake pdf --trace
でも同じらしいので原因を調べる
抜粋すると次のように画面出力されていた
rake aborted!
Command failed with status (1): [review-pdfmaker config.yml...]
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/file_utils.rb:66:in `block in create_shell_runner'
/Users/yimajo/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/rake-12.0.0/lib/rake/file_utils.rb:56:in `sh'
create_shell_runner
はおそらく例外を発生させている箇所だが、要するにシェルが実行できていない様子でebbが見つからなかったらしい。
結局、とりあえずbashに切り替えるか、上に追記しているようにfishでパス指定して解決した。