致命错误:尝试通过Visual Studio代码安装gopls/Go工具时找不到“dirent.h”文件

tkclm6bt  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(521)

我试图在Visual Studio代码中安装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/tools@v0.2.1-0.20221101170700-b5bc717366b2/internal/fastwalk/fastwalk_darwin.go:11:10: fatal error: 'dirent.h' file not found\n#include <dirent.h>\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/tools@v0.2.1-0.20221101170700-b5bc717366b2/internal/fastwalk/fastwalk_darwin.go:11:10: fatal error: 'dirent.h' file not found
#include <dirent.h>
         ^~~~~~~~~~
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
我的设置是:

  • 全新安装,无需自制软件
  • 从www.example.com全新安装VSCode macOSgo.dev/doc/install
  • 安装Go插件
  • 在命令面板中,搜索并选择“Go:安装/更新工具”并选择下拉列表中的所有工具

除了gopls之外,所有工具都安装成功。我已经通过Homebrew安装了go,也通过Homebrew安装了gopls,但不确定如何配置VSCode以指向此替代gopls路径。

tct7dpnv

tct7dpnv1#

该问题似乎是由于Xcode和命令行工具配置错误或损坏。
我卸载并重新安装了最新版本的Xcode,以及命令行工具包(这一个是特别重要的)从这里https://developer.apple.com/download/all/
我不得不这样做,尽管xcode-select --install告诉我一切都安装正确和最新的。
未来问题讨论可在此处获得:https://github.com/golang/go/issues/56663

相关问题