mac OS更新でrailsアプリが動作しなくなった
格闘して数日ようやく動くようになりました。 以下に直した時のメモを記載しておきます。 osのバージョンは Catalina 10.15.2
補足 OSのバージョンが変わるとそれに伴ってxcodeもバージョンが変わる可能性がありxcodeはPCのあらゆるところで使用されているっぽい(主にプログラミング系のもの)なのでxcodeの更新を待たずに何かしらのプログラムを立ち上げると変なところでバグってしまうかもしれないと感じた
詰まったエラー
xcodeが無いからbudeleが無いやrailtiesというgemが無いといった様々なこと
予測される原因
macOSの更新
解決策
bundel install
をしようと試みるもxcodeが無いと言われて怒られる
xcode-select --install
xcodeをインストール
なぜか使用しているrubyのバージョンがgemと一致しなくて怒られたので
rbenvをインストールしてgemと同じバージョンを指定する
rbenv install 2.1.2
でインストール
rbenv versions
インストール確認
rbenv global 2.1.2
全体で使うrubyを設定
rbenv local 2.1.2
カレントディレクトリーで使うrubyを設定
rbrnvでインストールしたあとはrbenv rehash
する必要がある
もし切り替えできない場合は
which ruby
でrubyをみている場所をチェックする
/.rbenv/shims/ruby
ではなかった場合
~/.bash_profile
ファイルに
export PATH="~/.rbenv/shims:/usr/local/bin:$PATH"</br>
eval "$(rbenv init -)"
を記載して
source ~/.bash_profile
変更反映させる
gemが怪しいのでbundle install
したら以下のエラーが出た
The
bundle' command exists in these Ruby versions:
bundleが無いようなので
gem install bundler
でbundleをインストールする
/Users/mannbou/.rbenv/versions/2.3.7/lib/ruby/2.3.0/rubygems.rb:241:in
bin_path': can't find gem railties (>= 0.a) (Gem::GemNotFoundException)
from /usr/local/bin/rails:22:in <main>'
railties
というgemが見えないエラーが吐き出される
rails githubから
railties
とは
簡単に説明するとフレームワークを統合して処理するもの
主にプロセス管理やrails
コマンドライン管理、ジェネレータコア提供をする
ダウンロード
の項目に
gem install railties
と記載されていることからrailsプロジェクトの一部として
railties
gem(パッケージ)をダウンロードできる
このことからgem install railties
を実行するとエラー解消できそうだが
そもそもrailsフレームワークの依存しているgemが抜け落ちているのは普通に考えると
ありえないことなのでrails全体に不具合がありそうなので
gem install rails
コマンドを使い再度入れ直す(依存関係などを修復する)
以上で解決した...が実際にはもっと色々試行錯誤しているので直った原因と思われる手順を 示しているだけなので注意してください