作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在运行下面的命令来安装一个用 go for Solidity 编写的单元测试包。
go install ./cmd/abigen
但是我收到了这些错误:
# github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify
vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go:51:216: cannot use nil as type _Ctype_CFAllocatorRef in argument to func literal
vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go:165:47: cannot use nil as type _Ctype_CFAllocatorRef in argument to _Cfunc_CFStringCreateWithCStringNoCopy
vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go:166:225: cannot use nil as type _Ctype_CFAllocatorRef in argument to func literal
Go版本:go版本go1.11.4 darwin/amd64
最佳答案
我也遇到过这个问题。对我来说,问题是我使用的 Geth vs Go 版本。您可能需要将 geth 升级到当前版本或至少版本 geth v1.8.16
https://github.com/ethereum/go-ethereum/issues/17751
虽然这对我来说不是一个选择,所以我找到了第二个解决方案。在这些代码行中,您会看到 nils,您不需要切换所有这些,但是如果您将指定的那些切换到 C.kCFAllocatorDefault,它应该可以工作。下面是实际替换的示例。
51
var source = C.CFRunLoopSourceCreate(C.kCFAllocatorDefault, 0, &C.CFRunLoopSourceContext{
perform: (C.CFRunLoopPerformCallBack)(C.gosource),
})
165
p := C.CFStringCreateWithCStringNoCopy(C.kCFAllocatorDefault, C.CString(s.path), C.kCFStringEncodingUTF8, C.kCFAllocatorDefault)
166
path := C.CFArrayCreate(C.kCFAllocatorDefault, (*unsafe.Pointer)(unsafe.Pointer(&p)), 1, nil)
关于go - 不能在 func 文字的参数中使用 nil 作为类型 _Ctype_CFAllocatorRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54064293/
我正在运行下面的命令来安装一个用 go for Solidity 编写的单元测试包。 go install ./cmd/abigen 但是我收到了这些错误: # github.com/ethereum
我是一名优秀的程序员,十分优秀!