Golang中如何从GitHub仓库的另一个分支导入模块
Golang中如何从GitHub仓库的另一个分支导入模块
如何从GitHub仓库的另一个分支导入模块
我想使用GitHub上的一个模块,这个模块在另一个分支里。
我正在尝试使用Fyne在Go中创建用户界面,但在运行go run时遇到了这个错误:
go run main.go
Fyne error: window creation error
Cause: VersionUnavailable: GLX: Failed to create context: GLXBadFBConfig
At: /home/kefd/go/pkg/mod/fyne.io/fyne/v2@v2.1.1/internal/driver/glfw/driver.go:121
我发现如果我使用develop分支,这个OpenGL问题就能解决。我该如何使用它呢?
GitHub - fyne-io/fyne at develop
develop
受Material Design启发的Go语言跨平台GUI
回退到OpenGL 2.0
fyne-io:develop ← fyne-io:downgrage_opengl
我们并未使用任何3.x特有的功能,因此让我们来提升兼容性。
修复 #148
更多关于Golang中如何从GitHub仓库的另一个分支导入模块的实战教程也可以访问 https://www.itying.com/category-94-b0.html
实际上,你最好将它们排除在 git 之外,因为它们通常体积庞大(包含大量小文件,这会使你的 git 操作变得繁重/缓慢)。package.json 和 package-lock.json 文件应该足以让这些依赖项能够被轻松地重新下载。
你可以使用 https://gitignore.io 来创建一个基于你所使用的技术和开发工具的 .gitignore 文件。如果你在列表中添加 “npm”,它就会将 node_modules 添加到排除的文件列表中。
你好 @kefd。
你可以通过 go get 手动检出该分支:
go get fyne.io/fyne/v2@develop
(另请参阅模块规范中的将分支和提交映射到版本。)
然后,go.mod 会包含一个 require 指令,其中包含一个映射到最新提交的生成伪版本,例如:
require fyne.io/fyne/v2 v2.1.2-0.20211031193424-ac6dfb40fa87 // indirect
在Go中,你可以通过指定分支名来导入GitHub仓库的特定分支。在你的go.mod文件中,使用replace指令将标准版本替换为特定分支,然后运行go mod tidy来同步依赖。
以下是具体步骤:
- 初始化模块(如果尚未初始化):
go mod init your-module-name
- 在
go.mod中添加replace指令:
module your-module-name
go 1.16
require fyne.io/fyne/v2 v2.1.1
replace fyne.io/fyne/v2 => github.com/fyne-io/fyne/v2 develop
- 运行
go mod tidy:
go mod tidy
这会从develop分支拉取代码并更新go.sum文件。
示例代码:
package main
import (
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
myApp := app.New()
myWindow := myApp.NewWindow("Hello")
hello := widget.NewLabel("Hello Fyne!")
myWindow.SetContent(container.NewVBox(
hello,
widget.NewButton("Hi!", func() {
hello.SetText("Welcome :)")
}),
))
myWindow.ShowAndRun()
}
注意:使用分支导入时,Go工具链会从该分支的最新提交获取代码。这适用于测试或临时修复,但在生产环境中建议使用稳定的版本标签。


