ターミナルの見た目と使い勝手を改善するため、素人手つきで、bashからzshに引っ越しを実施しました。
するとタイトルの通り、rails s
を実施しても、サーバが立ち上がらない状態になってしまいました。
すぐに見つからずはまったので、備忘録です。
結論
シェルを移行するときは、設定ファイルも合わせて引き継ぐ。
環境
macOS 10.14.1 (Mojave)
Homebrew 2.2.5
前提状況
ターミナルが初期設定に近く、ダサかったので色々調べながら設定をいじっていた。シェルについても、zshが良いとのことで導入。
■参考
結果的にはこのとき、ターミナル起動時にデフォルトで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
この状態は、要するにパスが通らない状態になってしまっているとのこと。
対応
上記記事を参考に、パスを通してみる。
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の起動やログインを起点にしているとわかった。
とすると、今回zshに移行している以上、zsh起動時に発火するようにしておく必要がある。
で、今回の結論、設定ファイルを引き継ぐことで、対応ができる。それぞれのファイルをzsh上の設定ファイルに引き継ぐ。
$ cat .bash_profile >> .zprofile $ cat .bashrc >> .zshrc
すると、一度閉じても再びパスを通してくれるようになった。