我只想知道发生了什么以及如何解决它。
- 阅读说明。
Stack Overflow: Help: How to create a Minimal, Reproducible Example
- 按照说明进行操作。
例如,
包goid
github.com/choleraehyq/pid@v0.0.10
以编程方式检索当前 goroutine 的 ID。
.
$ cat pid.go
package main
import (
"fmt"
goid "github.com/choleraehyq/pid"
)
func main() {
pid := goid.GetPid()
fmt.Println(pid)
}
$
.
$ cat go.mod
module example/pid
go 1.17
require github.com/choleraehyq/pid v0.0.10
$
.
$ go version
go version go1.17.5 linux/amd64
$
.
$ go build pid.go && ./pid
# github.com/choleraehyq/pid
../../gopath/pkg/mod/github.com/choleraehyq/pid@v0.0.10/pid_go1.5_amd64.s:28: expected pseudo-register; found R13
../../gopath/pkg/mod/github.com/choleraehyq/pid@v0.0.10/pid_go1.5_amd64.s:29: expected pseudo-register; found R14
asm: assembly of ../../gopath/pkg/mod/github.com/choleraehyq/pid@v0.0.10/pid_go1.5_amd64.s failed
$
升级到最新版本。
.
$ go get -u github.com/choleraehyq/pid
go: downloading github.com/choleraehyq/pid v0.0.13
go: upgraded github.com/choleraehyq/pid v0.0.10 => v0.0.13
$
.
$ cat go.mod
module example/pid
go 1.17
require github.com/choleraehyq/pid v0.0.13
$
.
$ go build pid.go && ./pid
1
$
避免使用旧的、过时的和不受支持的软件版本。
更新:
来自 OP 的评论:
谢谢。原始项目是一个大项目,具有很深的依赖关系。我发现我需要在项目的go.mod 中添加github.com/choleraehyq/pid v0.0.13 // indirect。 – sh1yu