AppleシリコンMacにrbenvを使ってRubyをインストールした
コーディング的には、RailsやらCompass(Sass)を使わないといかんので、Rubyをインストールします。
最新の安定版はruby3.4.1。
Macに関してはHomebrewでrbenvをインストールしてから最新のRubyを。
ご多分に漏れずアーキテクチャによる注意点があるようなので、調べてから行う。
UTM上のRocky Linuxに関してはちょっと特殊事情で、特定の案件のため特定のバージョンのRubyとRORが必要なので、こちらもrbenvで指定してインストールしてやる必要があるんだけど、こっちはちゃんとやったことを残しておこうと思う。
M1 Mac mini にRuby3.4.1をインストール
で、Macに関しては、記事を紹介するだけなのだwww
この記事と違う点は、まだピチピチなMacなので .zshrc がなかったため、
touch ~/.zshrc
しておいたのと、
最新のruby3.4.1をインストール成功したあとにデフォルトのバージョンを変更したのが反映されなかったので、ChatGPTの指示通りに以下の一文を .zshrcに加えたぐらい。パスを通して初期化してやる、ということか。
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
UTM上のRocky Linux9にバージョンを指定してインストール
ここからは
を参考にして進める
Rocky Linux9にrbenvをインストール
まずはgitから最新のrbenvを引っ張ってくる。
$ git clone https://github.com/rbenv/rbenv.git /usr/local/rbenv
# パスを通す
# 全ユーザー共通で使えるようにするために rbenv.shに書き込む
$ echo 'export RBENV_ROOT=/usr/local/rbenv
export PATH="$PATH:$RBENV_ROOT/bin"
eval "$(rbenv init -)"' > /etc/profile.d/rbenv.sh
# 再読み込み
$ source /etc/profile
# バージョン確認
$ rbenv --version
rbenv 1.3.2
rbenvプラグインのインストール
$ mkdir -p ${RBENV_ROOT}/plugins && pushd $_
# ruby-buildは必要
$ git clone https://github.com/rbenv/ruby-build.git
# rbenv install後に指定のgemを自動でインストールしてくれるらしい
$ git clone https://github.com/rbenv/rbenv-default-gems.git
# rbenv updateコマンドでrbenv及びプラグインを全てgit pullしてくれるらしい
$ git clone https://github.com/rkh/rbenv-update.git
$ popd
$ echo 'bundler' > ${RBENV_ROOT}/default-gems
libyaml-develインストール
参考記事にあった通り、libyaml-devel というやつが必要なようだ。
実は最初に最新のruby3.4.1をインストールしようとしていたのが途中で止まったので、これを先にやっておく。
$ dnf -y install --enablerepo=crb libyaml-devel
Installed:
libyaml-devel-0.2.5-7.el9.aarch64
Rubyのインストールが進まない。
デフォルトでインストールできるバージョンの確認
$ rbenv install --list
3.1.6
3.2.6
3.3.6
3.4.1
jruby-9.4.9.0
mruby-3.3.0
picoruby-3.0.0
truffleruby-24.1.1
truffleruby+graalvm-24.1.1
Only latest stable releases for each Ruby implementation are shown.
Use `rbenv install --list-all' to show all local versions.
最新バージョンはあるが、欲しいバージョンがないので上記メッセージにしたがって確認してみる。
$ rbenv install --list-all | grep 3.2.2
3.2.2
うん、大丈夫。
ということで、
$ rbenv install 3.4.1
でもどうしても下のところまで進んで止まってしまう.
[root@vagrant ~]# rbenv install 3.4.1
==> Downloading ruby-3.4.1.tar.gz...
-> curl -q -fL -o ruby-3.4.1.tar.gz https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.1.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 22.0M 100 22.0M 0 0 6076k 0 0:00:03 0:00:03 --:--:-- 6077k
==> Installing ruby-3.4.1...
-> ./configure --prefix=/usr/local/rbenv/versions/3.4.1 --enable-shared --with-ext=openssl,psych,+
ChatGPTに泣きつく
とりあえずChatGPTさんに聞いてみて提案のあった解決方法を取ってみる。
- 依存パッケージの不足
# なんかやたらめったらインストールされたwww
$ sudo dnf groupinstall "Development Tools"
# 既に入ってるやつもあるけど、とりあえず言われた通りにインストール
$ sudo dnf install gcc gcc-c++ make zlib zlib-devel openssl openssl-devel readline readline-devel libffi libffi-devel sqlite sqlite-devel bzip2 bzip2-devel
まさかの結末
何をやってもうまくいかないもんだから、いろいろやってインストールコマンド打ち込んでしばらく放置しておいたら・・・
==> Installing ruby-3.2.2...
-> ./configure --prefix=/usr/local/rbenv/versions/3.2.2 --enable-shared --with-ext=openssl,psych,+
-> make -j 4 # ←初見の行が追加された!!!!
た、単にめっちゃ時間が掛かってる・・・だけ・・・?
UTMってこういうとこあるよな・・・・
ということでゆっくりと風呂に入ってくる。
というわけで、1時間ぐらい放置してみたところ・・・
$ rbenv install 3.2.2
==> Downloading ruby-3.2.2.tar.gz...
-> curl -q -fL -o ruby-3.2.2.tar.gz https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 19.5M 100 19.5M 0 0 6261k 0 0:00:03 0:00:03 --:--:-- 6263k
==> Installing ruby-3.2.2...
-> ./configure --prefix=/usr/local/rbenv/versions/3.2.2 --enable-shared --with-ext=openssl,psych,+
-> make -j 4
Message from syslogd@vagrant at Jan 14 02:31:41 ...
kernel:watchdog: BUG: soft lockup - CPU#3 stuck for 95s! [ruby:60746]
Message from syslogd@vagrant at Jan 14 02:48:24 ...
kernel:watchdog: BUG: soft lockup - CPU#2 stuck for 891s! [ruby:60746]
-> make install
Message from syslogd@vagrant at Jan 14 03:39:29 ...
kernel:watchdog: BUG: soft lockup - CPU#3 stuck for 852s! [ruby:60976]
==> Installed ruby-3.2.2 to /usr/local/rbenv/versions/3.2.2
Fetching bundler-2.6.2.gem
Successfully installed bundler-2.6.2
Parsing documentation for bundler-2.6.2
Installing ri documentation for bundler-2.6.2
Done installing documentation for bundler after 2 seconds
1 gem installed
NOTE: to activate this Ruby version as the new default, run: rbenv global 3.2.2
なんと、できてしまったwww
それにしても時間かかり過ぎorz
これUTMのせいなんかな?
ま、同様に最新版もインストールするとしよう。寝てる間にw
ディスカッション
コメント一覧
まだ、コメントがありません