首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装带有GO111MODULE=on的augustoroman/v8时出现问题

安装带有GO111MODULE=on的augustoroman/v8时出现问题
EN

Stack Overflow用户
提问于 2019-05-19 05:34:50
回答 1查看 82关注 0票数 0

我能够完成设置和安装github.com/augustoroman/v8的整个过程--我手动构建了它的V8依赖项。当我运行go test时,我得到了以下结果:

代码语言:javascript
复制
PASS
ok      github.com/augustoroman/v8  9.433s

我在$GOPATH/src/github.com/augustoroman/v8上安装了这个包。到目前为止,一切似乎都在OS X上运行得很好。但是,当我尝试在我自己的单独项目中使用import "github.com/augustoroman/v8"导入时,我得到了一个抱怨。

回想起来,我意识到我启用了GO111MODULE=on。这促使我在v8文件夹的根目录下添加了一个包含以下内容的go.mod:

代码语言:javascript
复制
module github.com/augustoroman/v8
go 1.12

当我尝试运行时,我得到了另一个错误:

代码语言:javascript
复制
go: finding github.com/augustoroman/v8 latest
go: downloading github.com/augustoroman/v8 v8.0.0-20190418063024-4b66934a28a7
main.go:3:8: unknown import path "github.com/augustoroman/v8": cannot find module providing package github.com/augustoroman/v8

基本上,这个包看起来是可以正常工作的,但是,要么是GO111MODULE设置搞砸了它,要么是我把包安装在了错误的位置。Tbh在Go已经僵化的设置/结构之上,GO111MODULE设置是双重混乱的。

对如何调试这个问题有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-05-19 20:26:32

设置GO111MODULE=on时,Go不使用GOPATH/src包,而是使用ref $GOPATH/pkg/mod**.** (,official blog)

因此,在$GOPATH/src/github.com/augustoroman/v8中安装更改过的包将不起作用。

作为一种解决方法,您可以在go.mod文件中使用replace需要修改后的包的位置使用指令。

例如,如果您在example.com/me/hello项目中使用github.com/augustoroman/v8,则在example.com/me/hellogo.mod文件中使用replace

它可以是磁盘上绝对或相对位置中的任何一个,

代码语言:javascript
复制
module example.com/me/hello

require (
  github.com/me/some-repo v0.0.0
)

replace (
    github.com/augustoroman/v8 => /absolute/gopath/src/github.com/augustoroman/v8
)

或者,更好的(更地道的!),你在github中的fork仓库。

代码语言:javascript
复制
module example.com/me/hello

require (
  github.com/me/some-repo v0.0.0
)

replace (
    github.com/augustoroman/v8 => github.com/me/v8
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56203017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档