go - 无法安装包

标签 go ethereum

最初是在以太坊论坛上发布的,但感觉这里可能有更多关于这个问题的知识,因为它是一个 Golang/git 包安装问题


我正在尝试使用 go-ethereum 客户端编译智能合约。

我已经在我的电脑上安装并安装了以下命令:

go get -u github.com/ethereum/go-ethereum 
cd $GOPATH/src/github.com/ethereum/go-ethereum/ 
make

一切正常。

当我运行时

make devtools

我收到以下错误:

Pros-MacBook-Pro:go-ethereum Santi$ make devtools
env GOBIN= go get -u golang.org/x/tools/cmd/stringer
# cd /Users/pro/go/src/golang.org/x/tools; git pull --ff-only
error: Your local changes to the following files would be overwritten by merge:
        CONTRIBUTING.md
        blog/blog.go
        cmd/godoc/autocert.go
        cmd/godoc/blog.go
        cmd/godoc/godoc_test.go
        cmd/godoc/handlers.go
        cmd/godoc/main.go
        cmd/godoc/x.go
        cmd/goimports/goimports.go
        cmd/gomvpkg/main.go
        cmd/goyacc/yacc.go
        cmd/guru/guru.go
        cmd/guru/guru_test.go
        cmd/guru/main.go
        cmd/guru/referrers.go
        cmd/guru/testdata/src/referrers/int_test.go
        cmd/guru/testdata/src/referrers/main.go
        cmd/guru/testdata/src/referrers/main.golden
        cmd/present/static/styles.css
        cmd/present/templates/slides.tmpl
        cmd/stringer/endtoend_test.go
        cmd/stringer/stringer.go
        cmd/tip/tip.go
        go/ast/astutil/imports.go
        go/ast/astutil/imports_test.go
        go/buildutil/allpackages_test.go
        go/buildutil/fakecontext.go
        go/buildutil/util_test.go
        go/gcexportdata/example_test.go
        go/gcexportdata/gcexportdata.go
        go/gcexportdata/main.go
        go/gcimporter15/bexport.go
        go/gcimporter15/bexport19_test.go
        go/gcimporter15/bexport_test.go
        go/gcimporter15/bimport.go
        go/gcimporter15/exportdata.go
        go/gcimporter15/gcimporter.go
        go/gcimporter15/gcimporter_test.go
        go/gcimporter15/isAlias18.go
        go/gcimporter15/isAlias19.go
        go/gcimporter15/testdata/a.go
        go/gcimporter15/testdata/b.go
        go/gcimporter15/testdata/exports.go
        go/gcimporter15/testdata/issue15920.go
        go/gcimporter15/testdata/issue20046.go
        go/gcimporter15/testdata/p.go
        go/gcimporter15/testdata/versions/test.go
        go/gcimporter15/testdata/versions/test_go1.7_0.a
        go/gcimporter15/testdata/versions/test_go1.7_1.a
        go/internal/gccgoimporter/gccgoinstallation_test.go
        go/internal/gccgoimporter/importer_test.go
        go/internal/gccgoimporter/parser.go
        go/loader/loader_test.go
        go/ssa/interp/external.go
        go/ssa/ssa.go
        go/vcs/vcs.go
        go/vcs/vcs_test.go
        godoc/cmdline.go
        godoc/cmdline_test.go
        godoc/dirtrees.go
        godoc/dl/dl.go
        godoc/godoc.go
        godoc/index.go
        godoc/pres.go
        godoc/server.go
        godoc/spec.go
        godoc/static/gen.go
        godoc/static/godoc.html
        godoc/static/godocs.js
        godoc/static/makestatic.go
        godoc/static/package.html
        godoc/static/playground.js
        godoc/static/static.go
        godoc/static/style.css
        godoc/template.go
        godoc/vfs/emptyvfs.go
        godoc/vfs/gatefs/gatefs.go
        godoc/vfs/mapfs/mapfs.go
        godoc/vfs/namespace.go
        godoc/vfs/os.go
        godoc/vfs/vfs.go
        godoc/vfs/zipfs/zipfs.go
        imports/fastwalk.go
        imports/fastwalk_dirent_fileno.go
        imports/fastwalk_dirent_ino.go
        imports/fastwalk_portable.go
        imports/fastwalk_test.go
        imports/fastwalk_unix.go
        imports/fix.go
        imports/fix_test.go
        imports/imports.go
        imports/sortimports.go
        present/parse.go
        refactor/eg/eg.go
        refactor/eg/eg_test.go
        refactor/eg/rewrite.go
        refactor/eg/testdata/no_after_return.template
        refactor/rename/rename.go
Please commit your changes or stash them before you merge.
Aborting
Updating 73e16cff..d74aaa1f
package golang.org/x/tools/cmd/stringer: exit status 1
make: *** [devtools] Error 1

希望这不是太严重,我尝试使用以下行创建我的 go 文件:

abigen -abi=Store.abi --pkg=store --out=Store.go
bash: abigen: command not found

我怀疑这与我的安装失败有关,将不胜感激任何对此的指点

最佳答案

我能够通过执行以下操作解决此问题:

  • cd/Users/pro/go/src/golang.org/x/tools(这是有问题的 repo)
  • 运行 git stash save && git merge origin/master && git stash pop
  • 运行 make devtools(make 文件包含安装 abigen 并将其放入 usr/bin
  • 的说明

我从这个答案中得到了帮助:

How do I ignore an error on 'git pull' about my local changes would be overwritten by merge?

关于go - 无法安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51386896/

相关文章:

go - 如何从 URL 检索域?

go - 这个 Go print 语句的顺序是什么?

go - 对于带有结构(变量更新)

ethereum - 如何使用 IPFS 存储应用程序状态(作为 dApp 的后端)?

javascript - 为什么 web3.eth.getAccounts().then(console.log) 返回空数组?

testing - 有没有办法将断言与作证联系起来?

for-loop - 更新 map 中的键,同时遍历该 map

blockchain - 是否可以在 genesis.json 中预定义智能合约?

dart - 如何使用 flutter 将 web3 连接到以太坊网络?

blockchain - 在 Solidity/Ethereum 中寻找高分的算法