バグ #1576
完了
Makoto Kishimoto さんがほぼ3年前に追加.
ほぼ3年前に更新.
説明
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で起動しなくなった
- 担当者 を Makoto Kishimoto にセット
/usr/local/lib/ruby/
という文字列からしてたぶん FreeBSD + ports 環境ではないかと思うのですが
よって以下のいずれかが必要ではないかと思います
- bundler で gem をローカルで入れて起動する
- ports の delayer その他のバージョンを上げる(もしくは上げてもらうようレポートを出す)
bundler で gem をローカルで入れて起動しています。
追いかけたところ、コミット dee446e04984103069092c00fbe19c5dc8c16196 が起点のようです
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 のブロックより後ろにないとダメ、という気はします。
手元の環境で試してみましたが、ruby mikutter.rb
や実行権限付けての mikutter.rb
直接起動で再現できました。
私もbundlerを使用してセットアップしているのですが、普段 bundle exec ruby mikutter.rb
で起動しているので気づいていませんでした。
- ステータス を 実装待ち から レビュー待ち に変更
- ブランチ を topic/1576-require-bundler-setup-first にセット
ブランチ topic/1576-require-bundler-setup-first
に修正をpushしました。起動できるか確認をお願いできますか?
起動できました。
(なお、bundle exec ruby mikutter.rb で個人的には解決です)
- ステータス を レビュー待ち から マージ待ち に変更
developがruby mikutter.rbで起動できることを確認しました。
他の形式にエクスポート: Atom
PDF