猿问

无法在旧的 Go 版本中执行程序

我正在尝试构建在 github 上找到的程序。( https://github.com/ginuerzh/gimme-bitcoin-address )

我用golang编程半年了,从来没有遇到过程序缺少“go.mod”文件或者main函数的情况。

构建指令看起来像这样,但是没有go.mod文件就无法构建,所以我使用go mod init ... ,但这不是我的问题。

$ git clone git://github.com/vsergeev/gimme-bitcoin-address.git
$ cd gimme-bitcoin-address
$ go get code.google.com/p/go.crypto/ripemd160
$ go build

go build当然没有建造任何东西

值得注意的是它go get ...已过时,您必须导入"golang.org/x/crypto/ripemd160"

项目结构如下所示:

gimme-bitcoin-address/
 |-- LICENSE
 |-- README
 |-- gimme-bitcoin-address.go
 |-- gimme-bitcoin-address_test.go

而且,如您所见,没有 main.go 文件,但和以前一样,这不是真正的问题。

gimme-bitcoin-address.go只有一个能够构建的文件(xx_test.go 除外),我们看代码。

而不是package main,有package btcaddr,还有什么最接近主函数的函数是func _main

总而言之——我的问题是如何在克隆存储库后运行这个程序,或者如何修复它?我真的不知道,但是,也许这是一些老式的语法,但函数_main不会在任何地方被调用。这可能是个新手问题,但我无法处理。我希望也许有人会帮助我。


开心每一天1111
浏览 167回答 1
1回答

牛魔王的故事

如果您只是尝试构建项目,则以下内容应该有效:$ cd /tmp$ go versiongo version go1.18.5 linux/amd64$ git clone https://github.com/vsergeev/gimme-bitcoin-address.gitCloning into 'gimme-bitcoin-address'...remote: Enumerating objects: 261, done.remote: Total 261 (delta 0), reused 0 (delta 0), pack-reused 261Receiving objects: 100% (261/261), 62.36 KiB | 1.02 MiB/s, done.Resolving deltas: 100% (142/142), done.$ cd gimme-bitcoin-address/$ lsChangeLog.md  LICENSE  README.md  btckey  main.go$ go mod init testinggo: creating new go.mod: module testinggo: to add module requirements and sums:        go mod tidy$ go mod tidygo: finding module for package golang.org/x/crypto/ripemd160go: finding module for package github.com/vsergeev/btckeygenie/btckeygo: downloading golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170dgo: downloading github.com/vsergeev/btckeygenie v1.1.0go: found github.com/vsergeev/btckeygenie/btckey in github.com/vsergeev/btckeygenie v1.1.0go: found golang.org/x/crypto/ripemd160 in golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d$ go build$ ls -latotal 2124drwxrwxrwx 1 ubuntu ubuntu     512 Aug 26 16:08 .drwxrwxrwx 1 ubuntu ubuntu     512 Aug 26 16:07 ..drwxrwxrwx 1 ubuntu ubuntu     512 Aug 26 16:08 .git-rwxrwxrwx 1 ubuntu ubuntu      45 Aug 26 16:07 ChangeLog.md-rwxrwxrwx 1 ubuntu ubuntu    1088 Aug 26 16:07 LICENSE-rwxrwxrwx 1 ubuntu ubuntu    3616 Aug 26 16:07 README.mddrwxrwxrwx 1 ubuntu ubuntu     512 Aug 26 16:07 btckey-rwxrwxrwx 1 ubuntu ubuntu     131 Aug 26 16:08 go.mod-rwxrwxrwx 1 ubuntu ubuntu     394 Aug 26 16:08 go.sum-rwxrwxrwx 1 ubuntu ubuntu    2860 Aug 26 16:07 main.go-rwxrwxrwx 1 ubuntu ubuntu 2158646 Aug 26 16:08 testing这是来自使用 Go 1.18.5 的 Linux 环境的 Ubuntu 20.04 Windows 子系统。
随时随地看视频慕课网APP

相关分类

Go
我要回答