我遵循这个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如何解决这个问题?
发布于 2022-06-01 01:52:41
没有设置$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环境变量。
https://stackoverflow.com/questions/72455304
复制相似问题