* WSL2のUbuntuでのspt,mysql-server,rubyのエラー,インストルのし直し

 電気とテレビをつけたまま寝ていて,目が覚めて時間を見るとちょうど4時でした。データベースの更新作業を実行したところエラーが出ていました。Rubyスクリプトがエラーを出していたのですが,原因はMySQLにもありそうでした。

 そういえばしばらくaptのアップデートをしていなかったと思い始めたところ,mysql-serverのバージョンに問題があって先に進めませんでした。他のMySQL関連のパッケージより1つ古くなっているのです。

 MySQLを削除し,インストールし直すことにしたのですが,これもパッケージの依存関係などでなかなか削除ができませんでした。


sudo dpkg --force-all -r dbconfig-mysql libmysqlclient-dev mysql-client mysql-client-core-8.0 mysql-common mysql-server mysql-server-8.0 php-mysql php7.4-mysql ruby-mysql2

sudo dpkg -r mysql-server-8.0

 --force-allというオプションは,対象のパッケージが設定ファイルを持たないとエラーが出るようでした。それでオプションを外して,mysql-server-8.0を削除しました。あとは普通にパッケージのインストールのし直しです。

 MySQLを扱うスクリプトの実行をすると,やはりRubyでエラーが出ました。モジュールのファイルを読み込まないので,irbを使ってモジュールを読み込むパスを調べようとしたところ,次のようなエラーがでました。


cannot load such file -- /usr/lib/ruby/gems/2.7.0/gems/irb-1.2.4/exe/irb (LoadError)

 何の間違いがあったのか,複数の場所にRubyのライブリーがインストールされていて,Rubyの再インストールを繰り返しても結果が同じでした。問題のありそうなパスのディレクトリーを削除し,Rubyをインストールし直すことでようやく直りました。どちらも経験のないエラーでした。

 終わったのは7時10分頃でした。一時は,WSL2のUbuntuの入れ直しも考えたのですが,何が起こるかわからず,メンテナンスは大事だと思いました。