我是一个围棋新手。我正在尝试在 MacOS BigSur 上安装 gomobile 进行评估,但无法完成该init步骤。
运行go version回报go version go1.17.6 darwin/amd64
按照说明进行操作,gomobile安装似乎可以正常工作(在明确添加gomobile到我的路径后),但运行init或version失败。
gomobile: go install golang.org/x/mobile/cmd/gobind failed: exit status 1
go install: version is required when current directory is not in a module
Try 'go install golang.org/x/mobile/cmd/gobind@latest' to install the latest version
Run Code Online (Sandbox Code Playgroud)
gomobile version unknown: cannot test gomobile binary: exit status 1, no required module provides package golang.org/x/mobile/cmd/gomobile: go.mod file not found in current directory or any parent directory; see 'go help modules'
Run Code Online (Sandbox Code Playgroud)
我猜这与环境变量有关,但任何建议和/或帮助将不胜感激。
我确实设法最终进行了gomobile设置,但过程很痛苦,而且官方的“实验”文档不完整且完全没有帮助。以下是在 MacOS (BigSur) 上对我有用的步骤:
按照步骤从网站安装 GO
\n安装gomobile
\ngo install golang.org/x/mobile/cmd/gomobile@latest\nRun Code Online (Sandbox Code Playgroud)\n安装 Xcode 命令行工具。如果已安装但未找到,您可能需要运行以下命令:
\nxcode-select -r\nRun Code Online (Sandbox Code Playgroud)\n安装 Android NDK。这可以通过 Android Studio\xe2\x80\x99s Tools->SDK Manager 来完成。需要确保安装的版本受gomobile支持,因为gomobile不支持最新版本的NDK。
\n更新 shell 以包含以下导出:
\nexport PATH=$PATH:/Users/mikem/go/bin\nexport ANDROID_HOME=/Users/mikem/Library/Android/sdk\nexport ANDROID_NDK_HOME=/Users/mikem/Library/Android/sdk/ndk/23.1.7779620\nRun Code Online (Sandbox Code Playgroud)\n创建工作目录
\nmkdir myworkdir\nRun Code Online (Sandbox Code Playgroud)\n创建模块目录
\nmkdir mymodule\ncd mymodule\nRun Code Online (Sandbox Code Playgroud)\n在该模块目录中创建一个.go文件并为其提供一些内容。请注意,包名称应与模块名称不同,否则绑定可能会抱怨找不到任何内容
package mymodulelib\n\nimport "fmt"\n\nfunc SayHello() {\n fmt.Println("Hello from mymodule")\n}\nRun Code Online (Sandbox Code Playgroud)\n从工作目录初始化模块
\ngo mod init mymodule\nRun Code Online (Sandbox Code Playgroud)\n安装 gobind - 它会抱怨你应该使用该go install方法而不是go get(已弃用),但go install不起作用(至少对我来说)
go get golang.org/x/mobile/cmd/gobind\nRun Code Online (Sandbox Code Playgroud)\n回到模块目录,初始化然后生成iOS和android代码
\ncd mymodule\ngomobile init\ngomobile bind -target ios\ngomobile bind -target android\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3454 次 |
| 最近记录: |