从另一个模块导入包
Import package from another module
我必须在现有的 Go 后端代码之上创建一个桌面应用程序,因为这个要求和我在 Web 开发方面的知识我正在使用 Wails。
我使用 Wails CLI 在后端主项目的子文件夹中生成了桌面应用程序项目。
文件夹结构如下所示:
backend
├── [...]
├── logger
│ └── logger.go
├── gui
│ └── desktopApp
│ ├── build
│ │ └── desktopApp
│ ├── frontend
│ │ └── [...]
│ ├── go.mod
│ ├── go.sum
│ ├── main.go
│ └── project.json
├── main.go
├── go.mod
└── go.sum
logger
已经在桌面应用程序中导入,并且在通过浏览器进行开发和测试期间一切正常。但是,当我使用 desktopApp 文件夹中的命令 wails build
构建桌面应用程序时,出现以下错误:
go: <domain>/<owner>/backend/logger: unrecognized import path "<domain>/<owner>/backend"
我像这样在桌面应用程序中导入了后端:
/backend/gui/desktopApp/go.mod
module desktopApp
go 1.15
require (
<domain>/<owner>/backend v0.0.0
)
./gui/desktopApp/main.go
package main
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"<domain>/<owner>/backend/logger"
)
// Using the logger package normally
我该如何解决我的问题?
我看到您使用 go-module
并将代码存储在 repo
和 sub-module
中
问题是您忘记添加“desktopApp”-prefix
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"desktopApp/backend/backendPackage"
)
正确的使用方法modules
修复 desktopApp
模块的 go.mod
module <domain>/<owner>/desktopApp
go 1.15
修复 backend
s 导入,因为它属于 desktopApp
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"<domain>/<owner>/desktopApp/backend/backendPackage"
)
我解决了我的问题,像这样更改嵌套桌面应用程序的 go.mod
文件:
module desktopApp
go 1.15
require (
<domain>/<owner>/backend/logger
)
// Added this line
replace <domain>/<owner>/backend/logger => ../../
我必须在现有的 Go 后端代码之上创建一个桌面应用程序,因为这个要求和我在 Web 开发方面的知识我正在使用 Wails。
我使用 Wails CLI 在后端主项目的子文件夹中生成了桌面应用程序项目。 文件夹结构如下所示:
backend
├── [...]
├── logger
│ └── logger.go
├── gui
│ └── desktopApp
│ ├── build
│ │ └── desktopApp
│ ├── frontend
│ │ └── [...]
│ ├── go.mod
│ ├── go.sum
│ ├── main.go
│ └── project.json
├── main.go
├── go.mod
└── go.sum
logger
已经在桌面应用程序中导入,并且在通过浏览器进行开发和测试期间一切正常。但是,当我使用 desktopApp 文件夹中的命令 wails build
构建桌面应用程序时,出现以下错误:
go: <domain>/<owner>/backend/logger: unrecognized import path "<domain>/<owner>/backend"
我像这样在桌面应用程序中导入了后端:
/backend/gui/desktopApp/go.mod
module desktopApp
go 1.15
require (
<domain>/<owner>/backend v0.0.0
)
./gui/desktopApp/main.go
package main
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"<domain>/<owner>/backend/logger"
)
// Using the logger package normally
我该如何解决我的问题?
我看到您使用 go-module
并将代码存储在 repo
和 sub-module
问题是您忘记添加“desktopApp”-prefix
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"desktopApp/backend/backendPackage"
)
正确的使用方法modules
修复 desktopApp
模块的 go.mod
module <domain>/<owner>/desktopApp
go 1.15
修复 backend
s 导入,因为它属于 desktopApp
import (
"github.com/leaanthony/mewn"
"github.com/wailsapp/wails"
"<domain>/<owner>/desktopApp/backend/backendPackage"
)
我解决了我的问题,像这样更改嵌套桌面应用程序的 go.mod
文件:
module desktopApp
go 1.15
require (
<domain>/<owner>/backend/logger
)
// Added this line
replace <domain>/<owner>/backend/logger => ../../