1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MSYS2?GitBash?

Last updated at Posted at 2023-11-23

#1.事象
 2023.9頃より、C++をGitを同時並行で学習している。
 ターミナルとしてC++ではMSYS2を、GitではGitBashを使用していた。
 ある時、ファイルをcommitするとエディターのPATHが通らなくなっていた。

(…)code --wait: line 1: code: command not found(…)

#2.解決
 誤ってMSYS2でGitのコマンドを入力しており、一部のコマンドでPATHが通らなかった。
 GitBashでコマンド実行するとPATHが通り、コミットにも成功した。

#3.原因

  • MSYS2とGitBashを混同した
     GitBashは、MSYS2をベースにGit実行のため機能に絞って制作されたプログラム群である。※1
    ベースが同じなので、操作画面は当然似たような緑や紫色のカラフルな画面となる。(写真1・2参照)

gitbash.png
写真1 GitBashの操作画面
msys2.png
写真2 MSYS2の操作画面

  • ソフトに特有のPATHがある
     GitBashとMSYS2に通っているPATHを調べてみると(echo $PATH)、GitとGitBashで異なるディレクトリが表示される。
     これがイマイチ確信できていないが、PATHは一度設定するとすべてのソフトを扱う際に同じPATHが適用されるわけではなく、ソフト特有のPATHを通す方法があるようだ。
     自分の環境ではMSYS2が環境PATHを継承していないためこのような症状が出ていたようで、ユーザー変数に「変数→MSYS2_PATH_TYPE」「値→inherit」登録すると解決した。
     MSYS2の場合、以下のように、.bash_profileにVSCodeのPATHを追加することで解決した。
    ①バッシュでexport PATH='ディレクトリ':PATHを実行。
    スクリーンショット 2023-11-25 144743.png
    ②.bash_profileにVSCodeのPATHが追加される。
    スクリーンショット 2023-11-25 144821.png

 今回はこれが直接的な原因となり、PATHが通らない不具合に悩まされた。

  • 同じような悩みを持つ人がネットで調べても見つからなかった。
     そもそも初歩的過ぎてすぐ解決できてしまうのかもしれない。

#4.まとめ
・MSYS2とGitBashは混同しないようにする。
・パスはソフトごとに通す。
 (msys2の場合、exportコマンドでできる)

参照
※1 MSYS2とGitBashのルーツについて
https://qiita.com/Yuki-Inoue/items/58d3bb564cf2c20fde97
※2 PATH設定方法
https://qiita.com/n_otsuka/items/bfba784f37a98a930629

1
1
4

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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?