2021-10-01 brew Command Line Tools are too outdated / Rails HABTMは悪?
brew “Command Line Tools are too outdated”
brew コマンド使っていて下記のようなエラーメッセージが出た。
Error: Your Command Line Tools are too outdated.
Update them from Software Update in System Preferences or run:
softwareupdate --all --install --force
If that doesn't show you any updates, run:
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
書いてあるとおりのコマンドを走らせて解決。
$ softwareupdate --all --install --force
Software Update Tool
Finding available software
Downloading macOS Big Sur 11.6
Downloading: 100.00%
Downloaded: macOS Big Sur 11.6
Attempting to quit apps: (
...
)
Successfully quit all apps
Downloaded Device Support Update
Installing Device Support Update
Done with Device Support Update
Done.
Rails HABTMは悪?
それによると下記の理由からHABTMを使うべきではないとしています。
- joinテーブルが隠蔽されて過度に魔法的である。また
- たいていの場合、ジョインしたモデルにデータが増える。これをHABTMから追うのは難しい。
- HABTMではなくHMTを使えばなんの問題もない。
- データが大きなってしまってからHMTに移行するのは難しい。
HABTMリレーションシップは悪であるという論争 | A-Listers
has_many through でいけるならそれでいいよね、というのは気持ちわかる。