我修复了一个小错误go/ast
(请参阅以下Github 问题)。我想已经在我正在开发的项目中使用我的修复。包含该修复的 fork 可在https://github.com/ec-m/go上找到。
首先,我尝试了以下导入:
import "github.com/ec-m/go/src/go/ast"
和
import "github.com/ec-m/go"
这导致了各种go get
错误,例如module github.com/ec-m/go/src@upgrade found (v0.0.0-20200626183851-7b0f14cb18cb), but does not contain package github.com/ec-m/go/src/go
.
然后,我按照https://github.com/golang/go/wiki/Modules#when-should-i-use-the-replace-directive中概述的使用分叉依赖项的常规方法, 并在各种问题中提到,f . 前任。如何修复解析 go.mod 模块将其路径声明为 "x" 但需要为 "y"。
具体来说,我在我的go.mod
replace go/ast => github.com/ec-m/go v0.0.0-20200626183851-7b0f14cb18cb
这和其他一些尝试(std
而不是go/ast
等)没有奏效。经过一番研究,我发现替换 Go 的标准库是不可能的(参见这个Github 提案)。
我还有什么其他选择可以使用我的 Go 标准库的分支?我希望该方法尽可能简单,以避免我项目的未来用户出现依赖问题。