我正在關注這個 Go + GraphQL 教程https://www.howtographql.com/graphql-go/4-database/我被困在我試圖安裝然后運行遷移的地方。整個命令鏈是go get -u github.com/go-sql-driver/mysqlgo build -tags 'mysql' -ldflags="-X main.Version=1.0.0" -o $GOPATH/bin/migrate github.com/golang-migrate/migrate/v4/cmd/migrate/cd internal/pkg/db/migrations/migrate create -ext sql -dir mysql -seq create_users_tablemigrate create -ext sql -dir mysql -seq create_links_table但具體在go build -tags 'mysql' -ldflags="-X main.Version=1.0.0" -o $GOPATH/bin/migrate github.com/golang-migrate/migrate/v4/cmd/migrate/cd internal/pkg/db/migrations/我將在我的終端中收到以下錯誤:go build github.com/golang-migrate/migrate/v4/cmd/migrate: copying /var/folders/f9/d6pn7fz92w53vcpywqd_08zm0000gp/T/go-build1656176552/b001/exe/a.out: open /bin/migrate: operation not permitted如何解決這個問題?
1 回答

慕碼人8056858
TA貢獻1803條經驗 獲得超6個贊
$GOPATH
未設置(這很好,go
將回退到默認值)。
這導致$GOPATH/bin/migrate
評估/bin/migrate
而不是其預期值 - 類似于/home/you/go/bin/migrate
(/home/you/go
默認值在哪里$GOPATH
)。
$GOPATH
在未設置的情況下使用默認值;您的go build
命令應該調用$(go env GOPATH)
而不是$GOPATH
直接使用:
go build -tags 'mysql' -ldflags="-X main.Version=1.0.0" -o $(go env GOPATH)/bin/migrate github.com/golang-migrate/migrate/v4/cmd/migrate/
該教程只是錯誤地假設$GOPATH
環境變量始終已設置。
- 1 回答
- 0 關注
- 187 瀏覽
添加回答
舉報
0/150
提交
取消