- 1. 概要
- 2. バージョンの変更
- 3. アップグレード
- 4. 再インストールが必要なモジュール
1. 概要
本記事を書いているのは、2023年3月17日です。
実は、2、3日前からこのような状況になっておるのですが。
$ pkg version -vl "<"
ruby-3.0.5_1,1 < needs updating (index has 3.1.3_2,1)
ということで、実は、前回「3.0.4」以降のリリースが。
「Ruby 3.1.2 リリース」によれば、「3.1.2」のリリースが、2022年4月12日。
「Ruby 3.0.5 リリース」によれば、「3.0.5」のリリースが、2022年11月24日。
「Ruby 3.1.3 リリース」によれば、「3.1.3」のリリースが、2022年11月24日。
「Ruby 3.2.0 リリース」によれば、「3.2.0」のリリースが、2022年12月25日。
「Ruby 3.2.1 リリース」によれば、「3.2.1」のリリースが、2023年2月8日。
ということになっております。
現在のアップグレードせろ、と言われた環境が
$ ruby --version
ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [amd64-freebsd13]
ということで、とうとう「3.0.5」もサポートしなくなりますよ。
ということですな。
実は、「ports」上には、「3.2」も存在するのですが、まぁここは焦らず、「3.1」へ上げていきたいと思います。
2. バージョンの変更
$ portupgrade -f ruby30 -o lang/ruby31
[Reading data from pkg(8) ... - 377 packages found - done]
$ pkg set -o lang/ruby30:lang/ruby31
Change origin from lang/ruby30 to lang/ruby31 for ruby-3.0.5_1,1? [y/N]:
最後の行は、y Enter を入力します。
vi /etc/make.conf
DEFAULT_VERSIONS+=ruby=3.0
の行を下記へ変更します。
DEFAULT_VERSIONS+=ruby=3.1
3. アップグレード
cd /usr/ports/lang/ruby31
make config
いままでの経験で、「DOCS」のオプションだけ、はずします。
アップグレード。
ここは、依存関係なし、強制アップグレードにします。
portupgrade -f ruby
これで、「ruby」は、アップグレードできました。
4. 再インストールが必要なモジュール
依存関係に問題が発生したりした場合は、後日、書き加えます。
てか、いきなり出ちゃったよ。
他のパッケージをアップグレードしようとしたときに、直前まで動かしていた「portupgrade」が動かないのだ。
「portupgrade」は、「ruby」に依存しているのね。
ってことで、依存の前の方からインストールやアップグレードを行っていきます。
(実際には、途中で止まって、ややこしかったんだけど)
「ruby-gems」の更新。
pkg delete ruby30-gems
で、いったん「ruby30-gems」を削除して。
cd /usr/ports/devel/ruby-gems
make
make install
「rubygem-rdoc」をインストール。
cd /usr/ports/devel/rubygem-rdoc
make
make install
「portupgrade」を再インストール。
cd /usr/ports/ports-mgmt/portupgrade
make
make reinstall
これで、やっと「portupgrade」が動作するようになりました。
|