You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加build tags后gopls失效,Neovim环境下求解决方案

解决Neovim中gopls识别build tags的问题

当你在Neovim里使用gopls时,遇到带// +build connection这类build tags的文件报"No packages found"错误,直接给你几种适配Neovim的解决方案:

1. 基于nvim-lspconfig的全局配置

如果你用标准的nvim-lspconfig管理LSP,找到gopls的配置块,添加buildFlags参数指定需要识别的build tags:

require'lspconfig'.gopls.setup{
  settings = {
    gopls = {
      buildFlags = {"-tags=connection"},
      -- 多个标签用逗号分隔,比如 {"-tags=connection,debug"}
    },
  },
}

2. LazyVim/Lazy.nvim框架下的配置

如果用LazyVim这类配置框架,或者用lazy.nvim管理插件,在gopls的配置项中加入settings:

return {
  "neovim/nvim-lspconfig",
  opts = {
    servers = {
      gopls = {
        settings = {
          gopls = {
            buildFlags = {"-tags=connection"},
          },
        },
      },
    },
  },
}

3. 项目局部配置(仅当前项目生效)

不想全局修改配置,只想让某个项目生效的话,在项目根目录创建.nvim.lua文件,写入以下内容:

local lspconfig = require('lspconfig')
lspconfig.gopls.setup{
  settings = {
    gopls = {
      buildFlags = {"-tags=connection"},
    },
  },
}

Neovim会自动加载该项目下的局部配置(前提是未禁用局部配置功能)。

验证配置是否生效

配置完成后重启Neovim,打开报错的文件,输入:LspInfo,找到gopls的启动参数,确认其中包含-tags=connection,即可验证参数已正确传递给gopls。

内容的提问来源于stack exchange,提问作者ynssssssss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:42:19