我正在关注这个 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 关注
- 175 浏览
添加回答
举报
0/150
提交
取消