Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pandoc2reviewタスクがエラーになる #84

Closed
odaki opened this issue Mar 4, 2022 · 3 comments
Closed

pandoc2reviewタスクがエラーになる #84

odaki opened this issue Mar 4, 2022 · 3 comments

Comments

@odaki
Copy link

odaki commented Mar 4, 2022

Re:VIEW 5.4.0 リリースにあわせて再度setup.shで環境を作り直したところ、pdf 生成が失敗するようになりました。

% npm run pdf

> review-template@0.0.2 pdf
> grunt pdf

Running "clean:review" (clean) task
>> 0 paths cleaned.

Running "shell:preprocess" (shell) task

Running "shell:compile2pdf" (shell) task
rake aborted!
Psych::DisallowedClass: Tried to load unspecified class: Date
(eval):2:in `date'
lib/tasks/z01_pandoc2review.rake:34:in `block in <top (required)>'
/usr/local/opt/ruby/bin/bundle:25:in `load'
/usr/local/opt/ruby/bin/bundle:25:in `<main>'
Tasks: TOP => pdf => ReVIEW-Template.pdf => pandoc2review
(See full trace by running task with --trace)
Warning: Command failed: bundle exec rake pdf 
rake aborted!
Psych::DisallowedClass: Tried to load unspecified class: Date
(eval):2:in `date'
lib/tasks/z01_pandoc2review.rake:34:in `block in <top (required)>'
/usr/local/opt/ruby/bin/bundle:25:in `load'
/usr/local/opt/ruby/bin/bundle:25:in `<main>'
Tasks: TOP => pdf => ReVIEW-Template.pdf => pandoc2review
(See full trace by running task with --trace)
 Use --force to continue.

Aborted due to warnings.
%

articles/lib/tasks/z01_pandoc2review.rakeYAML.load_file()が、エラーになっていることが原因のようです。

エラーの理由は、YAMLのバックエンド実装 Psych v4.0.0以降の仕様変更(チェック強化)によるもののようでした。
ruby/psych#487

取り急ぎバンビちゃんさんの記事を参考に、YAML.load_file()している2箇所をYAML.unsafe_load_file()にしたところ、エラーは回避できています。
スクリーンショット 2022-03-04 12 05 30

いくつか対処方法があるかと思いますので、正式な対応(修正)をお願いいたします。

<ご参考>
私の環境では psych 4.0.3 が使われていました。

% gem list      

*** LOCAL GEMS ***

abbrev (default: 0.1.0)
base64 (default: 0.1.1)
benchmark (default: 0.2.0)
bigdecimal (default: 3.1.1)
bundler (default: 2.3.7)
cgi (default: 0.3.1)
csv (default: 3.2.2)
date (default: 3.2.2)
debug (1.4.0)
delegate (default: 0.2.0)
did_you_mean (default: 1.6.1)
digest (default: 3.1.0)
drb (default: 2.1.0)
english (default: 0.7.1)
erb (default: 2.2.3)
error_highlight (default: 0.3.0)
etc (default: 1.3.0)
fcntl (default: 1.0.1)
fiddle (default: 1.1.0)
fileutils (default: 1.6.0)
find (default: 0.1.1)
forwardable (default: 1.3.2)
getoptlong (default: 0.1.1)
image_size (3.0.1, 2.1.0)
io-console (default: 0.5.11)
io-nonblock (default: 0.1.0)
io-wait (default: 0.2.1)
ipaddr (default: 1.2.4)
irb (default: 1.4.1)
json (default: 2.6.1)
logger (default: 1.5.0)
matrix (0.4.2)
minitest (5.15.0)
mutex_m (default: 0.1.1)
net-ftp (0.1.3)
net-http (default: 0.2.0)
net-imap (0.2.3)
net-pop (0.1.1)
net-protocol (default: 0.1.2)
net-smtp (0.3.1)
nkf (default: 0.1.1)
observer (default: 0.1.1)
open-uri (default: 0.2.0)
open3 (default: 0.1.1)
openssl (default: 3.0.0)
optparse (default: 0.2.0)
ostruct (default: 0.5.2)
pandoc2review (1.4.0)
pastel (0.8.0)
pathname (default: 0.2.0)
power_assert (2.0.1)
pp (default: 0.3.0)
prettyprint (default: 0.1.1)
prime (0.1.2)
pstore (default: 0.1.1)
psych (default: 4.0.3)
racc (default: 1.6.0)
rake (13.0.6)
rbs (2.1.0)
rdoc (default: 6.4.0)
readline (default: 0.0.3)
readline-ext (default: 0.1.4)
reline (default: 0.3.0)
resolv (default: 0.2.1)
resolv-replace (default: 0.1.0)
review (5.4.0, 5.3.0, 5.0.0)
rexml (3.2.5)
rinda (default: 0.1.1)
rouge (3.28.0, 3.26.1, 3.26.0)
rss (0.2.9)
ruby2_keywords (default: 0.0.5)
rubyzip (2.3.2, 2.3.0)
securerandom (default: 0.1.1)
set (default: 1.0.2)
shellwords (default: 0.1.0)
singleton (default: 0.1.1)
stringio (default: 3.0.1)
strscan (default: 3.0.1)
syslog (default: 0.1.0)
tempfile (default: 0.1.2)
test-unit (3.5.3)
time (default: 0.2.0)
timeout (default: 0.2.0)
tmpdir (default: 0.1.2)
tsort (default: 0.1.0)
tty-color (0.6.0)
tty-logger (0.6.0)
typeprof (0.21.2)
un (default: 0.2.0)
unicode-eaw (2.2.0)
uri (default: 0.11.0)
weakref (default: 0.1.1)
yaml (default: 0.2.0)
zlib (default: 2.1.1)
% 
@kmuto
Copy link
Collaborator

kmuto commented Mar 4, 2022

#85 にて articles/lib/tasks/z01_pandoc2review.rake を変更してみました。
こちらの手元ではRuby 3.1含め動作していますが、試してみていただけますでしょうか。

@odaki
Copy link
Author

odaki commented Mar 4, 2022

@kmuto さん、早々に対応いただきどうもありがとうございます。
pr85版、Ruby 3.1.1 で問題なく動作しています。

% npm run pdf

> review-template@0.0.2 pdf
> grunt pdf

Running "clean:review" (clean) task
>> 2 paths cleaned.

Running "shell:preprocess" (shell) task

Running "shell:compile2pdf" (shell) task
review-pdfmaker  config.yml
ℹ INFO    compiling preface.tex    
ℹ INFO    compiling article.tex    
ℹ INFO    compiling contributors.tex
ℹ INFO    uplatex -interaction=nonstopmode -file-line-error -halt-on-error __REVIEW_BOOK__.tex
ℹ INFO    uplatex -interaction=nonstopmode -file-line-error -halt-on-error __REVIEW_BOOK__.tex
ℹ INFO    uplatex -interaction=nonstopmode -file-line-error -halt-on-error __REVIEW_BOOK__.tex
ℹ INFO    dvipdfmx -d 5 -z 9 __REVIEW_BOOK__.dvi
✔ SUCCESS built MIDITriggerManual.pdf
% ruby -v      
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-darwin20]
% grep yaml_load_file_compatible articles/lib/tasks/z01_pandoc2review.rake
def yaml_load_file_compatible(file)
  config = yaml_load_file_compatible('config.yml')
    catalog = yaml_load_file_compatible('catalog.yml')

@vvakame vvakame closed this as completed in 86ca090 Mar 7, 2022
@odaki
Copy link
Author

odaki commented Mar 7, 2022

対応いただきどうもありがとうございました!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants