都是 M1 惹的禍?第二彈!本篇將帶你一起解決執行 Rails 專案時可能發現的 gem 安裝失敗問題!

前言

好不容易搞定了 Ruby 安裝,接下來當然就要開始起專案啦!

安裝過程

Mimemagic 安裝失敗

專案資料夾打開後,起手式當然是

1
bundle install

嗯?哈囉? 為什麼又送我紅字啊—— 😱😱😱
稍加閱讀了終端上的紅字後,選擇先按照紅字建議去嘗試

1
gem install mimemagic -v '0.3.10' --source 'https://rubygems.org/'

Rake failed? 怎麼又失敗了
只好把剛剛出現過的紅字複製後,拿去請教 Google 大神
大神表示:

1
brew install shared-mime-info

執行後,如果有成功的話就會看到這樣的啤酒訊息,Safe!

1
🍺  /opt/homebrew/Cellar/shared-mime-info/2.2: 86 files, 4.6MB

Mysql2 安裝失敗

安裝完 Mimemagic 後,再重新 bundle 一次

真棒🙄 又出意外了呢⋯⋯
無奈的我只好繼續拿著紅字去拜大神,
大神開示:確認 mysqlopensslzstd 是否安裝,再安裝 mysql2

因為我是透過 homebrew 安裝,如果需要安裝特定版本的 mysql,要使用下方指令

1
brew install [email protected] openssl zstd

緊接著再安裝 mysql2

1
gem install mysql2 -v '0.5.2' -- --with-mysql-config=$(brew --prefix mysql)@5.7/bin/mysql_config --with-ldflags="-L$(brew --prefix zstd)/lib -L$(brew --prefix openssl)/lib" --with-cppflags=-I$(brew --prefix openssl)/include

指令中的 0.5.2 可替換成需安裝的 mysql2 版本號,另外因為我安裝的 mysql 是有指定 5.7 這個版本,所以在上方指令中需加入 @5.7 ,若你沒有指定版本的話,可移除。
最後只要再重新 bundle 一次就成功啦,可喜可賀 🎉

參考資料

  1. Mimemagic Issue #162
  2. How to install mysql2 gem on m1 Mac