Replacing inconvenient package name. Got error: replacement module without version must be directory path (rooted or starting with ./ or ../)
Replacing inconvenient package name. Got error: replacement module without version must be directory path (rooted or starting with ./ or ../)
问题
我在 go.mod 文件中写道:
module github.com/Siiir/vector
go 1.17
require github.com/huandu/go-clone v1.3.2 // indirect
replace clone => github.com/huandu/go-clone[v1.3.2]
它说我不能做这样的更换。
我实际上用导入包的名称解决了我的问题。
没有那个破折号,它很方便并且可以工作。我发现我可以使用 clone.something
来引用一个函数。
无需输入 go-clone.something
.
无论如何,假设包名确实很疯狂或不方便。我该如何更换它?
我看到的:
- 看到一个兄妹的问题:
我尝试了什么:
- 正在使用终端:
- go mod edit -replace=clone=github.com/huandu/go-clone
得到: go: -replace=clone=github: unversioned new path must be local directory
- 手动编辑:
- 尝试类似:替换克隆 => github.com/huandu/go-clone[v1.3.2]
得到: replacement module without version must be directory path (rooted or starting with ./ or ../)
Anyway, assume that a package name is indeed crazy or inconvenient. How can I replace it?
你不能。
你不应该。导入路径是您在 import
声明中只写一次的东西,并且可以使用 import nicename "something.you.think/is-totally/inconvenient/and/unacceptable-to/your_taste"
在每个文件级别更改包名称。
问题
我在 go.mod 文件中写道:
module github.com/Siiir/vector
go 1.17
require github.com/huandu/go-clone v1.3.2 // indirect
replace clone => github.com/huandu/go-clone[v1.3.2]
它说我不能做这样的更换。
我实际上用导入包的名称解决了我的问题。
没有那个破折号,它很方便并且可以工作。我发现我可以使用 clone.something
来引用一个函数。
无需输入 go-clone.something
.
无论如何,假设包名确实很疯狂或不方便。我该如何更换它?
我看到的:
- 看到一个兄妹的问题:
我尝试了什么:
- 正在使用终端:
- go mod edit -replace=clone=github.com/huandu/go-clone
得到:go: -replace=clone=github: unversioned new path must be local directory
- 手动编辑:
- 尝试类似:替换克隆 => github.com/huandu/go-clone[v1.3.2]
得到:replacement module without version must be directory path (rooted or starting with ./ or ../)
Anyway, assume that a package name is indeed crazy or inconvenient. How can I replace it?
你不能。
你不应该。导入路径是您在 import
声明中只写一次的东西,并且可以使用 import nicename "something.you.think/is-totally/inconvenient/and/unacceptable-to/your_taste"
在每个文件级别更改包名称。