2026/02/22(日) [n年前の日記]
#3 [prog][golang] MSYS2上でパスを変換
Windows11 x64 25H2 + MSYS2 UCRT64上で、Goでビルドして作ったはずのツールが ―― task.exe が呼び出せなくて悩んでいた。~/.bashrc の中に以下を追加してあるのだけどなあ…。どうして呼び出せないのか…。
確認してみたら、GOPATH の中身が以下のようになっていた。
これはダメな気がする。最初の文字が C:\ から始まってるし、\ と / が混在してしまっている。MSYS2 上では、/c/Users/USERNAME/go/bin になっていないといけないのでは?
AI(Google Gemini)に、こういうのを変換できる何かはないのと尋ねてみたら、「cygpathというコマンドがあるよ」と言ってきた。
ほほう。これは良い。良いではないか。
~/.bashrc の中に以下を書いた。
これで、MSYS2上でも $GOPATH/bin が正しくPATHに追加される状態になった。
export PATH=$PATH:$GOPATH/bin
確認してみたら、GOPATH の中身が以下のようになっていた。
$ echo $(go env GOPATH)/bin C:\Users\USERNAME\go/bin
これはダメな気がする。最初の文字が C:\ から始まってるし、\ と / が混在してしまっている。MSYS2 上では、/c/Users/USERNAME/go/bin になっていないといけないのでは?
AI(Google Gemini)に、こういうのを変換できる何かはないのと尋ねてみたら、「cygpathというコマンドがあるよ」と言ってきた。
$ cygpath -u $(go env GOPATH)/bin /c/Users/USERNAME/go/bin
ほほう。これは良い。良いではないか。
~/.bashrc の中に以下を書いた。
export PATH="$PATH:$(cygpath -u $(go env GOPATH))/bin"
これで、MSYS2上でも $GOPATH/bin が正しくPATHに追加される状態になった。
[ ツッコむ ]
以上です。