Goコマンドでエラー GOROOTが見つからない
○概要
goコマンド時にエラー発生
goをアンインストール、インストールし直しても改善せず
go version
go: cannot find GOROOT directory: C:\Users\myoujiNamae\go
現状ではアンインストールしても再起したコマンドプロンプト上で同じエラーが出る始末
go env -w GOROOT=...も当然使用できず、困ってしまった
プログラミング初学者です
エラー対応で試行錯誤しているうちに、自分が何をしてきたのかすら把握できなくなりました
もし分かる方、何かしらを思い付く方、力技でも何でも良いのでこういう時にやるべきことをアドバイスいただけますと幸いです
○現在の現象
コマンドプロンプトおよびVSCodeのターミナルでgoコマンドを使用すると
エラーが発生する
go version
go: cannot find GOROOT directory: C:\Users\myoujiNamae\go
※myoujiNamaeは実際には本名のローマ字
○未解決部分
Q1 cannot find GOROOTの事後対処方法(現状からの脱却)
Q2 GOPATHとGOROOTの指定場所両方に同じフォルダが作られた理由
"go_web"なんて名前、手動で2回も作成したということ?
Q3 cannot find GOROOTを発生させないためにどうしたら良かったか
○経緯
こちらの記事を参考にログイン機能とパスワードのハッシュ化機能をもつwebサイトを作成していた
(go_blogをgo_webとしたところ以外は写経)
https://zenn.dev/ajapa/articles/5b115f53e76f3a
コードを8割くらい書いたところで、エラーの1つに着手
could not import go_webmodel(cannt find package"go_w...
C:\Users\myouji Namae\src\go_web\model(from $GOPATH)
C:\Users\sobot\go\src\go_web\model(from $GOROOT)
原因分からず、"myouji namae"の空白を無くすためにターミナル上で
go env -w GOROOT=`\Users\myoujiNamae\src\go_web\model
もう順番も詳細もわかりませんが、他にも以下のようなことをgoコマンドを実行っせるとどうなるかとcould not import...のエラーが発生するかの確認とセットで1つづつ試しました。
-
goをアンインストールした後、C:\Usersにスペースを含まない名前のフォルダを作成、そこにgoをインストール
-
windowsシステム設定から環境変数設定をいじったり消したりした(GOROOTは最初から記載無く、いじっていない)
-
同じpcにwindowsの別アカウントを作成、VCode入れ、 goはアンインストール
goコマンドは使えるようになったが、最初に困っていたエラーが発生
go env -w GOROOT=~~でgopathと同じディレクトリに変更
エラーが全て消えた
go run main goで実行したところ、 エラー発生
package main is not in GOROOT (C:\Users\sobot\go\src\main)
○予想している解決方針
1. goコマンドを使わずにgorootを変更
2. gorootとgopathを正しいディレクトリに設定
(本来は無難なところに勝手に設定される?)
go言語, golang, windows, VSCode