ラジオの話題20:コマンドはあるのに、ライブラリが見つからない
今日の話題:①どのRubyで動いている? → ②コードが作るパスと、実際の配置 → ③直った回避策を、どう片付ける?。
気になったところから自由に。順番や時間は決めず、話しやすい話題だけ拾って構いません。
1. どのRubyで動いている?
Section titled “1. どのRubyで動いている?”話を広げるメモ
- shellが見つけたコマンドの実体。
- ライブラリのインストール先は同じ環境?
小ネタ:PATHとGEM_PATH
PATHはshellのコマンド探索、GEM_PATHはRubyGemsのgem探索。GEM_HOMEは主なインストール先。実行ファイルの存在と、その実行環境が依存を読めることは別。
話の芯:誰が、何を、どこから探すか。
2. コードが作るパスと、実際の配置
Section titled “2. コードが作るパスと、実際の配置”話を広げるメモ
- 構成値を見て、パス計算を辿る。
- ディストリビューション固有の処理はどこ?
小ネタ:RbConfig
Rubyのビルド時の構成を参照できる。入力の構成値、パスの計算、実ファイルの位置を照合する。特定RPMの計算処理をRuby全体の一般仕様としない。
話の芯:設定値から、実際の探索先まで追う。
3. 直った回避策を、どう片付ける?
Section titled “3. 直った回避策を、どう片付ける?”話を広げるメモ
- 手動で入れたコマンドがPATHで優先されたまま。
- 修正版RPMを入れただけで元に戻る?
小ネタ:複数の管理経路
gem installや手動配置の残存物は、RPM更新だけで消えるとは限らない。回避策の適用範囲と撤去条件を残し、実行ファイル・探索先を再確認する。
話の芯:回避策は、戻し方まで含めて作る。
最後に一言、話すなら
Section titled “最後に一言、話すなら”「この話を、次に調査や設計をするときどう思い出したいか?」
このメモの材料
Section titled “このメモの材料”既存の調査ケースにある技術補足から構成しました。当時の本人の発言・成果を再現した台本ではありません。思い出せる経験だけを本人の経験として話し、分からない経緯は補わずに使ってください。
定義の詳細・前提・一次資料・対象版・確認日は元の教材を参照してください。今回の作成では新しい実験・学習評価は行っていません。