Why not login to Qiita and try out its useful features?

We'll deliver articles that match you.

You can read useful information later.

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

goenvでGoインストールから実行まで。

Last updated at Posted at 2024-01-04

学びのアウトプット誰かの役に立てればと思います。
goenvを使う理由、Goバージョンを切り替えた時にGOPATHも変えてあげないと色んなバーションのものが一緒になり重複するためgoenvを入れる。
※これらの設定をすると、バージョンを切り替えた時に自動で切り替わる。


♦︎goenvインストール
参照:https://github.com/go-nv/goenv/blob/master/INSTALL.md
♦︎GOENV_ROOTの設定
♦︎GOPATH,GOROOTの設定
♦︎GOインストール

>>>VIM設定済み前提

Chapter1===インストール方法===

goenv install

★本来のバージョンが表示されず下記になる

★//エラー
:frowning2:
zsh: command not found: goenv
★exec $SHELL を入力

(又は$ source ~/.zshrc)

$ goenv -v

goenv 2.1.11など任意のバージョン)がでればOK

goenv install

-l/--list List all available versions

インストールできるバージョンは以下のコマンド

$ goenv install -l

最新バージョン探す

goenv install 1.21.5 

インストール実行

goenv versions
> 1.21.5
goenv global 1.21.5

※プロジェクトごとに指定したい場合「global部分がlocal

goenv rehash 
  go version
 > go version go1.21.5 darwin/amd64
echo $GOPATH 
> /Users/氏名/go/1.21.5

捕捉
バージョン切り替え

「参照」
MacBook-puro ~ % echo $GOPATH
/Users/氏名/go/1.21.5

現在:goディレクトリが作られた中の1.21.5という所がGOPATHGOPATHされています。

goenv install -l
goenv install 1.21.4

1つ前のバージョンを指定としてインストール

goenv versions

で確認すると1.21.4が存在。

env

でGOPATH=/Users/氏名/go/1.21.5
使っているパス先が見れる。

goenv rehash

と、行うとenvファイルに反映され、切り替えができるようになる。

Chapter2=====実行方法====

cd desktop 
//pwd で位置確認
mkdir hello
cd hello
ls
go mod init example/hello
lsで確認すると、「go.mod」が新しく作成

※vscode新しいエディタで開きデスクトップ「hello」フォルダを開く
・新しいテキストファイル「hello.go」を作成

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

上記のコードを入力し、vscodeのターミナルで実行

go run .

「Hello, World! 」が出たらOK

実行完了


・ 公式にして学習用パッケージ
//quote外部パッケージ

package main

import "fmt"

import "rsc.io/quote"

func main() {
    fmt.Println(quote.Go())
}

上記コード

go mod tidy

パッケージの依存関係など書いてあるファイルができ「quote」が使えるようになる

go run .

実行すると下記が表示される。
Don't communicate by sharing memory, share memory by communicating.
「共有メモリ(記憶)で通信するな」「メモリ(記憶)は通信(コミュニケーション)で共有せよ。
Go言語の格言である。

Qパッケージは何処に格納されている?
A,GOPATHのpkgの中にある。

echo $GOPATH
//Users/bun/go/1.21.5 ★謎に改行が入り空欄の場合以下
cd $GOPATH
ls
//私の場合、1.21.5  bin     pkg
ls pkg
//mod     sumdb
ls pkg/mod 
//rsc.ioがあればOK

※ターミナルを閉じるとGOPATHが初期化されます

Chapter2実行編GOPATH部分★の場合、
echo $GOPATH
空行

export PATH="$GOPATH/bin:$PATH"
export GOPATH="$HOME/go"

上記2点を加えた後に「記事のcd $GOPATH」と続くと解決した。

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

Qiita Advent Calendar is held!

Qiita Advent Calendar is an article posting event where you post articles by filling a calendar 🎅

Some calendars come with gifts and some gifts are drawn from all calendars 👀

Please tie the article to your calendar and let's enjoy Christmas together!

0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?