Closed topstone closed 2 years ago
gem.required_ruby_version = ">=2.3.0" は 2.5.0 にする方がよいかと思います。
スタンス的には 2.7 以上必須ですが、 https://github.com/whiteleaf7/narou/wiki#%E5%BF%85%E9%A0%88%E3%83%84%E3%83%BC%E3%83%AB 古い環境でも動く可能性はあったので、required_ruby_version はあげてませんでした 最近明確に古い環境では動かなくなったのであげた方が良いですね(どこまで動かないのかを調べるのが面倒でした)
narou.rb には Gemfile.lock を含めない方がよいと思います。 bundle install で利用者の環境を用意するのは Gemfile の役割なので、Gemfile.lock が役立つことはないと思います
利用者が bundle install をすることをそもそも想定していません。開発者用です gem 経由でインストールする場合には参照されないので問題ないと思っています
スタンス的には 2.7 以上必須ですが、 https://github.com/whiteleaf7/narou/wiki#%E5%BF%85%E9%A0%88%E3%83%84%E3%83%BC%E3%83%AB 古い環境でも動く可能性はあったので、required_ruby_version はあげてませんでした 最近明確に古い環境では動かなくなったのであげた方が良いですね(どこまで動かないのかを調べるのが面倒でした)
Ruby 2.5.8 で rake spec
を実行したところ、以下の通り2件失敗しました。2.6.0 以上に限定してよいかと思います。
Failures:
1) NovelSetting setting.ini 書き出し関係 読み込んだ設定を setting.ini に書き出せるか
Failure/Error: result = ERB.new(src, trim_mode: "-").result(_binding)
TypeError:
no implicit conversion of Hash into Integer
# ./lib/template.rb:53:in `block in get'
# ./lib/template.rb:49:in `each'
# ./lib/template.rb:49:in `get'
# ./lib/template.rb:31:in `write'
# ./lib/novelsetting.rb:144:in `save_settings'
# ./spec/novelsetting_spec.rb:23:in `block (3 levels) in <top (required)>'
2) NovelSetting setting.ini 書き出し関係 オリジナル設定も setting.ini に書きだされるか
Failure/Error: result = ERB.new(src, trim_mode: "-").result(_binding)
TypeError:
no implicit conversion of Hash into Integer
# ./lib/template.rb:53:in `block in get'
# ./lib/template.rb:49:in `each'
# ./lib/template.rb:49:in `get'
# ./lib/template.rb:31:in `write'
# ./lib/novelsetting.rb:144:in `save_settings'
# ./spec/novelsetting_spec.rb:29:in `block (3 levels) in <top (required)>'
利用者が bundle install をすることをそもそも想定していません。開発者用です gem 経由でインストールする場合には参照されないので問題ないと思っています
まあ確かに、開発者なら Gemfile.lock を削除すればよいということは知っているので、大きな問題はなさそうですね。
いつもありがたく利用させていただいております。
bundle install
で Ruby 2.4.10 に narou.rb を導入しようとしたところ、以下の通り表示されました。Gemfile.lock が阻害している可能性を考え、Gemfile.lock を削除して再度
bundle install
したところ、以下の通り表示されました。つまり、Ruby 2.3.0~2.4.10 に narou.rb を入れることは既に不可能に見えますので、narou.gemspec の
gem.required_ruby_version = ">=2.3.0"
は 2.5.0 にする方がよいかと思います。なお、こちらの記事に挙げられているように、 narou.rb には Gemfile.lock を含めない方がよいと思います。(
bundle install
で利用者の環境を用意するのは Gemfile の役割なので、Gemfile.lock が役立つことはないと思います。Gemfile が許容している環境なのに Gemfile.lock が導入を阻害することはあり得ます。)