为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
SMILET 2022-12-19 14:11:01
我正在关注这个 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环境变量始终已设置。


查看完整回答
反对 回复 2022-12-19
  • 1 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信