* 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の入れ直しも考えたのですが,何が起こるかわからず,メンテナンスは大事だと思いました。
0 件のコメント:
コメントを投稿