Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
go binary only错误找不到包fmt(使用-importcfg)无法打开文件:打开:没有这样的文件或目录_Go - Fatal编程技术网

go binary only错误找不到包fmt(使用-importcfg)无法打开文件:打开:没有这样的文件或目录

go binary only错误找不到包fmt(使用-importcfg)无法打开文件:打开:没有这样的文件或目录,go,Go,我遇到了一个与go二进制软件包相关的问题。所以我创建了一个非常简单的go应用程序。结构如下: $tree-l2$GOPATH/src/ /用户/megadestina/Documents/gopath/src/ ├── 解放党 │   └── 自由行 └── 四弦琴 └── 梅因,加油 lib文件夹是我只想作为二进制文件分发的库。其中,ukulele是主包 下面是lib/lib.go的内容: 包库 输入“fmt” func SayHello(){ fmt.Println(“你好”) } 我在

我遇到了一个与go二进制软件包相关的问题。所以我创建了一个非常简单的go应用程序。结构如下:

$tree-l2$GOPATH/src/
/用户/megadestina/Documents/gopath/src/
├── 解放党
│   └── 自由行
└── 四弦琴
└── 梅因,加油
lib
文件夹是我只想作为二进制文件分发的库。其中,
ukulele
是主包

下面是
lib/lib.go
的内容:

包库
输入“fmt”
func SayHello(){
fmt.Println(“你好”)
}
我在
lib
软件包上执行了
go install
命令,成功了

$go安装-a
$ls$GOPATH/pkg/darwin|amd64 | grep lib.a
解放军
然后我将
lib/lib.go
编辑成以下内容:

//go:仅二进制的包
包库
在主程序包文件
ukule/main.go
上,正在使用
lib
程序包。代码如下:

主程序包
导入“lib”
func main(){
lib.SayHello()
}
我运行应用程序,并得到以下错误

$go运行main.go
#命令行参数
找不到包fmt(使用-importcfg)
/usr/local/go/pkg/tool/darwin_amd64/link:无法打开文件:打开:没有这样的文件或目录
我应该怎么做才能使它工作,使
lib
包作为仅二进制的包分发


仅供参考,我使用的是
go1.11.4

$go版本
go版本go1.11.4达尔文/amd64
以下是go env的输出:

$go-env
GOARCH=“amd64”
戈宾=“”
GOCACHE=“/Users/megadestina/Library/Caches/go build”
GOEXE=“”
GOFLAGS=“”
GOHOSTARCH=“amd64”
GOHOSTOS=“达尔文”
GOOS=“达尔文”
GOPATH=“/Users/megadestina/Documents/GOPATH”
GOPROXY=“”
GORACE=“”
GOROOT=“/usr/local/go”
GOTMPDIR=“”
GOTOOLDIR=“/usr/local/go/pkg/tool/darwin_amd64”
GCCGO=“GCCGO”
CC=“叮当声”
CXX=“铿锵++”
CGO_ENABLED=“1”
GOMOD=“”
CGO_CFLAGS=“-g-O2”
CGO_CPPFLAGS=“”
CGO_cxflags=“-g-O2”
CGO_FFLAGS=“-g-O2”
CGO_LDFLAGS=“-g-O2”
PKG_CONFIG=“PKG CONFIG”
GOGCCFLAGS=“-fPIC-m64-pthread-fno插入诊断-使用的参数-fmessage length=0-fdebug prefix map=/var/folders/3h/5t8llxf147j06h5jcmy0474r0000gp/T/go-build021065592=/tmp/go-build-gno-record gcc开关-fno common”

从Go 1.13开始,不再支持纯二进制软件包。@icza我使用go1.11,但它不起作用。有什么想法吗?go env的输出是什么?刚刚更新了我的问题,请看一下