LoginSignup
0
0

More than 3 years have passed since last update.

Go言語でHelloWorldを実行しようとしたらエラーになった

Last updated at Posted at 2020-06-19

Hello world が出来なかった

業務でGolangを使用する機会がありました。
本格的には触らなかったので、とりあえず自習しようとしました。

  • とりあえずhello.goを作ってhello worldを表示しようとします。
$ go run hello.go
exec: "C:\\Users\\xxxxx\\AppData\\Local\\Temp\\go-build929698758\\b001\\exe\\hello": file does not exist

ああ??なんだこれ?hello World で死ぬか?普通?ってなったわけです。

失敗した原因

とりあえず build だけやってみる

xxxxx@xxx MSYS /c/Users/xxxxx/Documents/test/go
$ go build hello.go

xxxxx@xxx MSYS /c/Users/xxxxx/Documents/test/go
$ ls
hello  hello.go
  • バイナリ?が windows のじゃない!!

windowsで実行するなら

$ ls
hello.exe  hello.go

ができるのが正解ですよね~

こうなる原因が環境変数のGOOSでした。

$ env | grep GOOS
GOOS=linux

こうなっていたわけですよ。このGOOS=linuxがいけなかった。
業務中にテキトーに設定したのがいけなかった。
GOOS=linuxって環境変数を設定しているとbuildして作られるバイナリファイルがLinux向けに作られるっぽい?
MSYS2またはgit-for-windows上でなら実行できるのでは?とか思ったのですがエラーでしたね。
てことで、

どうすれば良いのか

GOOSを変えます

$ export GOOS=windows
# cmdだったら以下
set GOOS=windows

をした後に build すると
hello.exe が生成されますよっと。
これで解決。
GOOS=windowsに設定するのが正しいのかは知らない。
もうこの環境変数消した方がいいのかな。

0
0
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
0
0