1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

M1 MacでRubyの環境構築したらエラーで詰まった話

Posted at

はじめに

homebrew、anyenv、rbenvを導入しM1 MacでRubyの環境構築を行なった際にエラーで詰まったので記事に残そうと思います。

homebrewからanyenvまでの導入は以下記事をご参照ください。
M1 Macで初めての環境構築 (homebrew, anyenv, nodenv使用)

Ruby環境構築

anyenvからrbenvを導入する

anyenv install rbenv

シェルの再起動

rbenvのインストールが完了したらシェルを再起動する

exec $SHELL -l

インストール可能なバージョンを確認

rbenv install -l

Rubyをインストール

Ruby公式サイトより安定版を確認しインストールする
しばらく時間が掛かります。

rbenv install {任意のバージョン}

エラーが発生

どこかで間違えたのか

Downloading ruby-3.2.1.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.gz
Installing ruby-3.2.1...

BUILD FAILED (macOS 13.2.1 using ruby-build 20230309-1-gf3c1ccc)

Inspect or clean up the working tree at /var/folders/wc/zw016qq16dnbgshf5_r7lnmr0000gn/T/ruby-build.20230313221439.5208.wd6YFD
Results logged to /var/folders/wc/zw016qq16dnbgshf5_r7lnmr0000gn/T/ruby-build.20230313221439.5208.log

Googleで調べる
GitHubのIssueにまったく同じエラーで詰まっていた人を発見
Installation issues with Arm Mac (M1 Chip) #1691

どうやらrbenv installの前にRUBY_CFLAGS="-w"を付ければ解決するらしい

再インストール

RUBY_CFLAGS="-w" rbenv install 3.2.1

また同じエラーが起きた

BUILD FAILED (macOS 13.2.1 using ruby-build 20230309-1-gf3c1ccc)

Inspect or clean up the working tree at /var/folders/wc/zw016qq16dnbgshf5_r7lnmr0000gn/T/ruby-build.20230313222147.80358.n055lY
Results logged to /var/folders/wc/zw016qq16dnbgshf5_r7lnmr0000gn/T/ruby-build.20230313222147.80358.log

Last 10 log lines:
	Check ext/psych/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
Generating RDoc documentation
/private/var/folders/wc/zw016qq16dnbgshf5_r7lnmr0000gn/T/ruby-build.20230313222147.80358.n055lY/ruby-3.2.1/lib/yaml.rb:3: warning: It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
uh-oh! RDoc had a problem:
cannot load such file -- psych

run with --debug for full backtrace

DeepLで翻訳してみると

BUILD FAILED (macOS 13.2.1 ruby-build 20230309-1-gf3c1ccc を使用)

var/folders/wc/zw016qq16dnbgshf5_r7lnmr0000gn/T/ruby-build.20230313222147.80358.n055lYの作業ツリーを点検またはクリーンアップします。
Results logged to /var/folders/wc/zw016qq16dnbgshf5_r7lnmr0000gn/T/ruby-build.20230313222147.80358.log

直近の10行のログです。
	詳細はext/psych/mkmf.logを確認してください。
*** 問題を修正した後、これらのディレクトリを削除し、必要であれば再試行してください。
RDocドキュメントの生成
/private/var/folders/wc/zw016qq16dnbgshf5_r7lnmr0000gn/T/ruby-build.20230313222147.80358.n055lY/ruby-3.2.1/lib/yaml.rb:3: warning: あなたのrubyインストールには、(YAML出力用の)psychが欠けているようです。
この警告を消すには、libyamlをインストールして、rubyを再インストールしてください。
うおおおぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉ RDocに問題が発生しました。
そのようなファイルを読み込むことができません -- psych

完全なバックトレースを得るために --debug を付けて実行する。

どうやらlibyamlが必要みたいだ。

libyamlとは

そもそもlibyamlとは何なのか調べてみた。
C言語でYAMLファイルのコード解析と出力を簡単にするためのライブラリらしい
Ruby 3.2.0よりlibyamlは同梱が廃止になったらしい

libyamlを導入

homebrewよりlibyamlをインストールする

brew install libyaml

再々インストール

今度こそうまくいってくれ

rbenv install {任意のバージョン}

インストールに成功したメッセージが表示されました。

Downloading ruby-3.2.1.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.gz
Installing ruby-3.2.1...
ruby-build: using libyaml from homebrew
Installed ruby-3.2.1 to /Users/ユーザー名/.anyenv/envs/rbenv/versions/3.2.1


NOTE: to activate this Ruby version as the new default, run: rbenv global 3.2.1

最後にNOTE:にある通りグローバルのRubyのバージョンを設定します。

rbenv global 3.2.1

rbenvに認識させるために以下を実行

rbenv rehash

バージョン確認

ruby -v
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [arm64-darwin22]

最後に

エラーメッセージを最初からちゃんと読んでいればRUBY_CFLAGS="-w"の工程はなくてもよかったと感じました。
エラーメッセージはきちんと読むべきです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?