💡

Goにechoをインストールできない?

2023/07/15に公開

権限のエラーで詰まった!

Golangで、echoというフレームワークを使ってみようとしたら、パッケージを追加できなかった?
https://echo.labstack.com/docs/quick-start

⚠️エラー

ailed to initialize build cache at /path/to/cache/directory: mkdir /path: read-only file system

解決方法

Githubのissueを見て、.zshrcに追加して解決した。
https://github.com/golang/go/issues/45113

英語を翻訳
8 つのパッケージが vscode にインストールできなかったので、次の行を bash_profile、.bash_profile、.zshrc、.zprofile に追加する解決策を見つけました。

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

その後、失敗したパッケージは 2 つだけだったので、ただ入力しましたgo get -u github.com/ramya-rao-a/go-outline

そしてそれは問題を解決しました


2行のパスの設定を追加したら治った!

おまじないのコマンドを実行する

source ~/.zshrc

📶echoをインストールする

公式チュートリアル通りにやってみる。プロジェクトは作ってるので、パッケージを追加するところからですが、全体のコマンドを書いておきます。

インストール
必要条件
エコーをインストールするには、Go 1.13以上が必要です。Go 1.12ではサポートに制限があり、一部のミドルウェアは使用できません。プロジェクトフォルダが$GOPATHの外にあることを確認してください。

$ mkdir myapp && cd myapp
$ go mod init myapp
$ go get github.com/labstack/echo/v4

Go v1.14またはそれ以前のバージョンで作業している場合は、以下を使用してください:

$ GO111MODULE=on go get github.com/labstack/echo/v4

server.goを作成する

touch server.go

サンプルコードを書く

server.go
package main

import (
    "net/http"
    
    "github.com/labstack/echo/v4"
)

func main() {
    e := echo.New()
    e.GET("/", func(c echo.Context) error {
        return c.String(http.StatusOK, "Hello, World!")
    })
    e.Logger.Fatal(e.Start(":1323"))
}

サーバーを起動する

$ go run server.go

URLにアクセスして、Hello Worldが表示されらばOK
http://localhost:1323/

試しにcurlを実行してみる

hashimotojunichi@hashimotojunichinoMacBook-Pro ~ % curl http://localhost:1323/
Hello, World!%   

最後に

パッケージをインストールしようとしたが、権限の問題が出てきた?
ChatGPTに聞いても解決できないので、Githubのissueを見て、試しにやってみたら解決できた💡

Jboy王国メディア

Discussion