当我执行测试时,我收到以下错误。这是以前的工作。不知道我需要做什么来修复这个错误。
golang.org/x/crypto/ripemd160/ripemd160block.go:12:2: cannot find package "math/bits" in any of:
/usr/local/Cellar/go@1.8/1.8.7/libexec/src/math/bits (from $GOROOT)
Go 1.9 包括一个新的包,数学 / 位,具有用于操纵位的优化实现。在大多数体系结构中,此包中的函数还被编译器识别,并被视为内部函数以获得额外的性能。
您需要 Go 版本 1.9 或更高版本。
我在$HOME
目录中安装了多个版本的 Go:~/go1.4
、~/go1.8
、~/go1.9
、~/go1.10
和~/go
(devel)。将src/math/bits
文件夹从 go1.9 或更高版本复制到 go1.8。从go1.8/src
运行
go1.8
:
#!/bin/sh
# $HOME/bin/go1.8
export GOARCH=amd64
export GOOS=linux
export GOROOT=$HOME/go1.8
export GOBIN=$GOROOT/bin
exec $GOBIN/go "$@"
输出:
$ cd ~/go1.8/src
$ go1.8 install -v math/bits
math/bits
例如
package main
import (
"fmt"
"math/bits"
)
func main() {
fmt.Println(bits.UintSize)
}
输出:
$ go1.8 run bits.go
64
你需要复制包“数学 / 位”为你 gopath。一种方法是:
下载 golang 1.10 +
make 目录<goprojectpath>/src/math
(cp-r...)
from<goroot_1.10+>/src/math/bits
to<goprojectpath>/src/math
重试:govendor add +external
或者安装新的 golang 版本到 1.10 +。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(73条)