打开 /bin/migrate:构建 Go 标签时不允许操作

我正在关注这个 Go + GraphQL 教程https://www.howtographql.com/graphql-go/4-database/我被困在我试图安装然后运行迁移的地方。


整个命令链是


go get -u github.com/go-sql-driver/mysql

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/

migrate create -ext sql -dir mysql -seq create_users_table

migrate 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

如何解决这个问题?


SMILET
浏览 242回答 1
1回答

慕码人8056858

$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环境变量始终已设置。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go