Macでbashからzshへ引っ越しした後、Rails起動しない問題

ターミナルの見た目と使い勝手を改善するため、素人手つきで、bashからzshに引っ越しを実施しました。

するとタイトルの通り、rails sを実施しても、サーバが立ち上がらない状態になってしまいました。

すぐに見つからずはまったので、備忘録です。

結論

シェルを移行するときは、設定ファイルも合わせて引き継ぐ。

環境

macOS 10.14.1 (Mojave)
Homebrew 2.2.5

前提状況

ターミナルが初期設定に近く、ダサかったので色々調べながら設定をいじっていた。シェルについても、zshが良いとのことで導入。

■参考

qiita.com

kinchiki-it.hatenablog.jp

結果的にはこのとき、ターミナル起動時にデフォルトでzshが起動される所までで止まっていたのがよくなかった。

エラー

Railsの勉強に戻ろうと、rails sを起動してみると以下のエラーが発生。

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

いやいや、Rails入れてるしと思いながらRailsの場所を調べると、以下のように。。

$ which rails
=> /usr/bin/rails

ちなみに問題がないATOM上で同じコマンドを入力すると以下のようになる。

$ which rails
=> ~/rbenv/shims/rails

この状態は、要するにパスが通らない状態になってしまっているとのこと。

makeslife-better.com

対応

上記記事を参考に、パスを通してみる。

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

すると無事、バージョンが表示され、一件落着かと。

$ rails -v
=> Rails 6.0.2.1

と、思いきや、一度ターミナルを閉じ、再びRailsを触ると再び、、

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

再試行

何かおかしいと、改めてパスを通すときに実施していたコマンドを調べてみると、.bash~bashの起動やログインを起点にしているとわかった。

qiita.com

とすると、今回zshに移行している以上、zsh起動時に発火するようにしておく必要がある。

で、今回の結論、設定ファイルを引き継ぐことで、対応ができる。それぞれのファイルをzsh上の設定ファイルに引き継ぐ。

$ cat .bash_profile >> .zprofile
$ cat .bashrc >> .zshrc

qiita.com

すると、一度閉じても再びパスを通してくれるようになった。