操作
バグ #1576
完了LoadErrorで起動しない
プラグイン名:
クラッシュする:
はい
説明
1月5日頃から、developブランチが、
<internal:/usr/local/lib/ruby/3.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- delayer (LoadError) from <internal:/usr/local/lib/ruby/3.0/rubygems/core_ext/kernel_require.rb>:85:in `require' from /home/ksmakoto/mikutter/core/boot/delayer.rb:3:in `<top (required)>' from <internal:/usr/local/lib/ruby/3.0/rubygems/core_ext/kernel_require.rb>:85:in `require' from <internal:/usr/local/lib/ruby/3.0/rubygems/core_ext/kernel_require.rb>:85:in `require' from mikutter.rb:17:in `<main>'
のように、LoadErrorで起動しなくなった
再現手順
developブランチを起動しようとすると起きる
関連するチケット
Izumi Tsutsui さんがほぼ3年前に更新
- 担当者 を Makoto Kishimoto にセット
/usr/local/lib/ruby/
という文字列からしてたぶん FreeBSD + ports 環境ではないかと思うのですが
- ports の mikutter は ubygem-delayer>=1.0.0:devel/rubygem-delayer とバージョン指定なし
https://cgit.freebsd.org/ports/tree/net-im/mikutter/Makefile?id=305f148f482daf30dcf728039d03d019f88344eb#n19 - ports の delayer は 1.1.2
https://cgit.freebsd.org/ports/tree/devel/rubygem-delayer/Makefile?id=cf118ccf875508b9a1c570044c93cfcc82bd455c - mikutter 5.0 は明示的に delayer 1.2.1 以降が必要 #1550
a2ce7a6f
- bundler で gem をローカルで入れて起動する
- FreeBSD はわかりませんが ubuntu だと https://gist.github.com/tsutsui/c89604b824c7cbc67cac118babfcc3df
- ports の delayer その他のバージョンを上げる(もしくは上げてもらうようレポートを出す)
Makoto Kishimoto さんがほぼ3年前に更新
追いかけたところ、コミット dee446e04984103069092c00fbe19c5dc8c16196 が起点のようです
Izumi Tsutsui さんがほぼ3年前に更新
delayer が system gem で入っている場合は問題なくて、 gem をすべて bunder を使って入れたときのみに発生するという気がしますが
from /home/ksmakoto/mikutter/core/boot/delayer.rb:3:in `<top (required)>'
の通り source:mikutter.rb@dee446e0 のrequire 'boot/delayer'
の呼び出しが
if !ENV['DISABLE_BUNDLER_SETUP'] || ['', '0'].include?(ENV['DISABLE_BUNDLER_SETUP'].to_s)
begin
ENV['BUNDLE_GEMFILE'] = File.expand_path(File.join(File.dirname($0), "Gemfile"))
require 'bundler/setup'
rescue LoadError, SystemExit
# bundlerがないか、依存関係の解決に失敗した場合
# System の gem を使ってみる
end
end
の bundler のブロックより後ろにないとダメ、という気はします。
Shibafu Midorino さんがほぼ3年前に更新
手元の環境で試してみましたが、ruby mikutter.rb
や実行権限付けての mikutter.rb
直接起動で再現できました。
私もbundlerを使用してセットアップしているのですが、普段 bundle exec ruby mikutter.rb
で起動しているので気づいていませんでした。
Shibafu Midorino さんがほぼ3年前に更新
- ステータス を 実装待ち から レビュー待ち に変更
- ブランチ を topic/1576-require-bundler-setup-first にセット
ブランチ topic/1576-require-bundler-setup-first
に修正をpushしました。起動できるか確認をお願いできますか?
操作