macでgem installが失敗した時の解決メモ

# 困りごと
githubで職務経歴書を作成しようと思い立ち、jekyllを知り、自分のmacに入れようと思ったが、途中でmakeエラーがでてインストールできなかった。

# 結論
- rubyのバージョン切り替え/管理をchrubyからasdfに変更したら解決
- その際にchrubyでインストールしていたrubyも削除した
- なぜchruby環境でエラーとなるのかは不明

# 解決までのメモ
rubyの管理をasdfに移行したものの、gemでインストールする時のログに表示される作業ディレクトリがchrubyの時のものであった。ので、すべてのrubyを一旦削除し、asdfで入れ直すことで解決した。
chatGPTに聞いても検討はずれな（一般的な）答えしかもらえなかったが、Issueの議論からヒントを見つけられた。
実はruby環境を導入したのは初なのでそれもいけなかった。

## エラーが出るまでにやっていたこと
jekyllをインストールしたいがエラー
どうやらeventmachineのインストールでこけている様子

```
gem install jekyll     
Building native extensions. This could take a while...
ERROR:  Error installing jekyll:
	ERROR: Failed to build gem native extension.

    current directory: /Users/username/.gem/ruby/3.4.1/gems/eventmachine-1.2.7/ext
/Users/username/.rubies/ruby-3.4.1/bin/ruby extconf.rb
checking for pkg-config for openssl... ["-I/opt/homebrew/Cellar/openssl@3/3.5.0/include ", "-L/opt/homebrew/Cellar/openssl@3/3.5.0/lib", "-lssl -lcrypto"]
-----
Using OpenSSL from pkg-config -I/opt/homebrew/Cellar/openssl@3/3.5.0/include  && -L/opt/homebrew/Cellar/openssl@3/3.5.0/lib && -lssl -lcrypto
-----
checking for -lcrypto... yes
...
checking for CLOCK_MONOTONIC in time.h... yes
CXXFLAGS=-fdeclspec
creating Makefile

current directory: /Users/username/.gem/ruby/3.4.1/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20250509-5018-m955ku sitelibdir\=./.gem.20250509-5018-m955ku clean

current directory: /Users/username/.gem/ruby/3.4.1/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20250509-5018-m955ku sitelibdir\=./.gem.20250509-5018-m955ku
compiling binder.cpp
make: *** [binder.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/username/.gem/ruby/3.4.1/gems/eventmachine-1.2.7 for inspection.
Results logged to /Users/username/.gem/ruby/3.4.1/extensions/arm64-darwin-24/3.4.0-static/eventmachine-1.2.7/gem_make.out
```

eventmachineの個別インストールでも同じエラー

```
[username@/Users/username]gem install eventmachine                                     
Building native extensions. This could take a while...
ERROR:  Error installing eventmachine:
	ERROR: Failed to build gem native extension.

    current directory: /Users/username/.gem/ruby/3.4.1/gems/eventmachine-1.2.7/ext
/Users/username/.asdf/installs/ruby/3.4.3/bin/ruby extconf.rb
checking for pkg-config for openssl... ["-I/opt/homebrew/Cellar/openssl@3/3.5.0/include ", "-L/opt/homebrew/Cellar/openssl@3/3.5.0/lib", "-lssl -lcrypto"]
-----
Using OpenSSL from pkg-config -I/opt/homebrew/Cellar/openssl@3/3.5.0/include  && -L/opt/homebrew/Cellar/openssl@3/3.5.0/lib && -lssl -lcrypto
-----
checking for -lcrypto... yes
...
checking for CLOCK_MONOTONIC in time.h... yes
CXXFLAGS=-fdeclspec
creating Makefile

current directory: /Users/username/.gem/ruby/3.4.1/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20250510-31881-k4cc9r sitelibdir\=./.gem.20250510-31881-k4cc9r clean

current directory: /Users/username/.gem/ruby/3.4.1/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20250510-31881-k4cc9r sitelibdir\=./.gem.20250510-31881-k4cc9r
compiling binder.cpp
make: *** [binder.o] Error 1

make failed, exit code 2
```
## 解決のためにやったこと

```
#chrubyでインストールしたrubyの削除
sudo rm -rf ~/.rubies

#asdfで入れたrubyも一旦全部削除
asdf list ruby
asdf uninstall ruby 3.4.0

#クリーンになったのち、asdfでrubyをインストール
asdf install ruby 3.4.0

#jekyll install
asdf set ruby 3.4.3
gem install jekyll
```

## ほか解決に向けてやったこと

XCodeのclang環境が悪いかもと思いXcodeのupdate 効果なし
XCodeのリセット 効果なし
```
sudo xcode-select --reset
```
gemのクリーンアップ 効果なし

```
gem cleanup
```

# 参考情報
- [eventmachine does not compile on mac m2 #1010
](https://github.com/eventmachine/eventmachine/issues/1010)
    - asdfへの切り替えのきっかけになったページthankyou.
- [職務経歴書をGitHubで管理するノウハウ](https://zenn.dev/ryo_f/articles/2f925f621e6d99)
    - 職務経歴書かく参考にｓ
- [jekyllをM1macで使う
](https://tech-b.azimicat.dev/docs/tech/2022-06-05-jekyll%E3%82%92m1mac%E3%81%A7%E4%BD%BF%E3%81%86/)
- [jekyll公式トラブルシュート](https://jekyllrb.com/docs/troubleshooting/)