我正在尝试在Windows 10上从源代码构建IPFS。
以前我是从源代码安装的。它工作正常。但是我需要最新的资料,所以我从头开始。因为我编辑了源代码中的某些部分。
我遵循了https://github.com/ipfs/go-ipfs/blob/master/docs/windows.md上的指示。
我在执行以下命令时收到以下错误。
代码
cd %GOPATH%\src\github.com\ipfs\go-ipfs
make install
错误
go version go1.12.6 windows/amd64
bin/check_go_version 1.12
go install -asmflags=all=-trimpath="D:\GO_WORKSPACE" -gcflags=all=-trimpath="D:\GO_WORKSPACE" -ldflags="-X "github.com/ipfs/go-ipfs".CurrentCommit=810cb607e-dirty" ./cmd/ipfs
# github.com/ipfs/go-ipfs/plugin/loader
plugin\loader\preload.go:11:2: undefined: pluginipldgit
plugin\loader\preload.go:12:2: undefined: pluginbadgerds
plugin\loader\preload.go:13:2: undefined: pluginflatfs
plugin\loader\preload.go:14:2: undefined: pluginlevelds
make: *** [cmd/ipfs/Rules.mk:37: cmd/ipfs-install] Error 2
我尝试将这些插件添加到src \ github.com \ ipfs \ go-ipfs \ plugin \ loader目录下的preload.go文件中。
在preload.go上存在代码。
import (
"github.com/ipfs/go-ipfs/plugin"
)
我在问题之后添加了
import (
"github.com/ipfs/go-ipfs/plugin"
pluginipldgit "github.com/ipfs/go-ipfs/plugin/plugins/git"
pluginbadgerds "github.com/ipfs/go-ipfs/plugin/plugins/git"
pluginflatfs "github.com/ipfs/go-ipfs/plugin/plugins/git"
pluginlevelds "github.com/ipfs/go-ipfs/plugin/plugins/git"
)
所以我添加此行之后结果就是成功。
执行的命令
make install
结果
go version go1.12.6 windows/amd64
bin/check_go_version 1.12
go install -asmflags=all=-trimpath="D:\GO_WORKSPACE" -gcflags=all=-trimpath="D:\GO_WORKSPACE" -ldflags="-X "github.com/ipfs/go-ipfs".CurrentCommit=810cb607e-dirty" ./cmd/ipfs
然后我尝试使用以下命令启动ipfs
ipfs daemon
错误
Initializing daemon...
go-ipfs version: 0.4.22-dev-810cb607e-dirty
Repo version: 7
System version: amd64/windows
Golang version: go1.12.6
Error: unknown datastore type: flatfs
有人可以帮我从源头配置IPFS吗? 预先感谢。
答案 0 :(得分:0)
我通过以下方法解决了这个问题。不确定这是否是一个好的解决方案。我可以解决这个问题的任何方式。
我将其发布为答案。因此对所有遇到相同问题的人都是有用的。
1)删除了“%GO_WORKSPACE%/ .... / ipfs”文件夹中的go-ipfs文件夹。
2)Git手动在同一位置克隆go ipfs存储库。
3)进入go-ipfs文件夹。
4)执行安装命令。
make install