LoginSignup
1
2

More than 1 year has passed since last update.

MacのターミナルとVSCodeのターミナルで動作が違っている現象を解決する

Posted at

開発環境

macOS Catalina
Rails 6.1.3.2
Ruby 2.6.7

VSCodeのターミナルがうまく動作しない

一から調べてRailsの環境構築を終えて、Macのターミナルからrails sを実行すると成功。
開発していく上で、VSCodeのターミナル(Cmd+Jで起動)を使った方が便利と思い、そちらでrails s。
すると...

% 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.

Macのターミナルだとちゃんと動いているのに、VSCodeのターミナルからだと動かない...

解決するためにやったこと1

VSCodeの設定を変える
VSCodeの設定を開き、設定の検索欄に「terminal.integrated.inheritEnv」と入力し表示されたチェックボックスのチェックを外す。
スクリーンショット 2021-06-04 20.57.31.png

VSCodeを再起動する。

解決するためにやったこと2

パスの記述ファイルを変更する

VSCodeのターミナル上でwhich rubyを実行すると/usr/bin/rubyとなり、環境構築で行ってきた.rbenv下ではなくなっている。(Macのターミナルからは元々.rbenv下となっていたが、PCの再起動などをしているうちにいつの間にかこちらも/usr/bin/rubyとなっていた...)
パス通したはずなのにおかしいなと思いながら調べていると、macOS Catalinaからは標準のシェルがzshになったそう。(参考にした記事はこちら)
環境構築で参考にしていた記事では、.bash_profileにパスを記述しており同じくそうしていました...

そこで

% vi ~/.zprofile

export PATH=~/.rbenv/bin:$PATH
eval "$(rbenv init -)"
PATH=/usr/local/bin/git:$PATH
export PATH

とパスを.zprofileに記述。(下2行はGitのパスです。)
.bash_profileに記述していたものは全て消しました。
そして変更を反映。

% source ~/.bash_profile
% source ~/.zprofile

再度、VSCodeからrails sを実行...
スクリーンショット 2021-06-04 21.32.32.png

できた!!!安心するいつもの画面!
(RailsにMySQLを使用しており、rails sした時にMySQLを起動できないよ!と言われて解決するまでに参考にさせていただいた記事を下記に貼っておきます。こちらで無事に起動することができました。)

mysqlが起動できない(Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2))
mysql 起動時のThe server quit without updating PID file エラーの回避法

まとめ

しかるべきファイルにパスを通せていなかったことが原因でした。
開発環境をしっかりとチェックして、記事を参考にすることが大事だなと改めて感じました!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2