登录
首页 >  Golang >  Go问答

gopls/Go 工具安装中的关键问题:无法找到“dirent.h”文件

来源:stackoverflow

时间:2024-02-09 21:09:22 226浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《gopls/Go 工具安装中的关键问题:无法找到“dirent.h”文件》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我尝试在 visual studio code 中安装 go 工具,但在安装 gopls 时收到以下错误:

Tools environment: GOPATH=/Users/jal/go
Installing 1 tool at /Users/jal/go/bin in module mode.
  gopls

Installing golang.org/x/tools/gopls@latest FAILED
{
 "killed": false,
 "code": 2,
 "signal": null,
 "cmd": "/opt/brew/bin/go install -v golang.org/x/tools/gopls@latest",
 "stdout": "",
 "stderr": "golang.org/x/tools/internal/fastwalk\n# golang.org/x/tools/internal/fastwalk\n../../go/pkg/mod/golang.org/x/[email protected]/internal/fastwalk/fastwalk_darwin.go:11:10: fatal error: 'dirent.h' file not found\n#include \n         ^~~~~~~~~~\n1 error generated.\n"
}

1 tools failed to install.

gopls: failed to install gopls(golang.org/x/tools/gopls@latest): Error: Command failed: /opt/brew/bin/go install -v golang.org/x/tools/gopls@latest
golang.org/x/tools/internal/fastwalk
# golang.org/x/tools/internal/fastwalk
../../go/pkg/mod/golang.org/x/[email protected]/internal/fastwalk/fastwalk_darwin.go:11:10: fatal error: 'dirent.h' file not found
#include 
         ^~~~~~~~~~
1 error generated.

我知道我有 dirent.h,因为运行 find / -iregex ".*/dirent.h$" 2>/dev/null 时,我在本地 xcode sdk 中看到结果。

我正在按照此处的步骤操作:https://learn.microsoft.com/en-us/azure/developer/go/configure-visual-studio-code

我的设置是:

  • 从 homebrew 全新安装 go
  • 从 go.dev/doc/install 全新安装 vscode macos
  • 安装 go 插件
  • 在命令面板中,搜索并选择“转到:安装/更新工具”,然后选择下拉列表中的所有工具

除 gopls 外,所有工具均已成功安装。我已经通过 homebrew 安装了 go,并且还通过 homebrew 安装了 gopls,但不确定如何配置 vscode 以指向这个替代的 gopls 路径。


正确答案


该问题似乎是由于 Xcode 和命令行工具配置错误或损坏造成的。

我从这里卸载并重新安装了最新版本的 Xcode,以及命令行工具包(这个尤其重要)https://developer.apple.com/download/all/

尽管 xcode-select --install 告诉我一切都已正确安装并且是最新的,但我还是必须这样做。

未来问题讨论可在此处进行:https://github.com/golang/go/issues/56663

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《gopls/Go 工具安装中的关键问题:无法找到“dirent.h”文件》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>