Gopls reports compiler error on vscode when having os/arch specific files

2024-01-06 09:18

本文主要是介绍Gopls reports compiler error on vscode when having os/arch specific files,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在修改kubeedge代码时gopls报错:
cannot use &(internalContainerLifecycleImpl literal) (value of type *internalContainerLifecycleImpl) as InternalContainerLifecycle value in return statement: internalContainerLifecycleImpl does not implement InternalContainerLifecycle (missing method PreCreateContainer), compiler(InvalidIfaceAssign)
看代码发现
internalContainerLifecycleImpl 是有实现 PreCreateContainer 这个方法的
在这里插入图片描述
但是vscode报了没有这个方法的错误,后面发现这个方法的实现是在xxx_linux.go后缀文件中,gopls使用了golang compiler的api,出现这个问题的环境是darwin (macos),因为golang compiler api在设定为darwin的环境下无法将xxx_linux,go这个特定os/arch文件考虑在内,所以在golang compiler api向gopls报了错,gopls将错误进一步报了出来(Gopls reports warning on vsc when creating os/arch specific files)。

如何在vscode解决这个问题:
第一种方法: 因为是环境问题导致,所以修改go env或者将代码置于linux环境远程调试
第二种方法(只针对vscode): 最小化改动,在kubeedge项目目录下创建.vscode目录,.vscode下创建settings.json文件, 内容为:

{"gopls": {"build.buildFlags": ["-tags=linux",// "-tags=darwin",]}
}

,.vscode是vscode的项目配置目录, settings.json是项目配置文件

这篇关于Gopls reports compiler error on vscode when having os/arch specific files的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/575887

相关文章

#error用法

/* *检查编译此源文件的编译器是不是C++编译器 *如果使用的是C语言编译器则执行#error命令 *如果使用的是 C++ 编译器则跳过#error命令 */ #ifndef __cplusplus #error 亲,您当前使用的不是C++编译器噢! #endif #include <stdio.h> int main() {

brew install opencv@2 时报错 Error: Can't create update lock in /usr/local/var/homebrew/locks!

解决方案,报错里已经说明了: 我的解决方案: sudo chown -R "$USER":admin /usr/local   stackoverflow上的答案 I was able to solve the problem by using chown on the folder: sudo chown -R "$USER":admin /usr/local Also you'

vscode-创建vue3项目-修改暗黑主题-常见错误-element插件标签-用法涉及问题

文章目录 1.vscode创建运行编译vue3项目2.添加项目资源3.添加element-plus元素4.修改为暗黑主题4.1.在main.js主文件中引入暗黑样式4.2.添加自定义样式文件4.3.html页面html标签添加样式 5.常见错误5.1.未使用变量5.2.关闭typescript检查5.3.调试器支持5.4.允许未到达代码和未定义代码 6.element常用标签6.1.下拉列表

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

BD错误集锦3——ERROR: Can't get master address from ZooKeeper; znode data == null

hbase集群没启动,傻子!   启动集群 [s233 s234 s235]启动zk集群 $>zkServer.sh start $>zkServer.sh status   [s233] 启动dfs系统 $>start-dfs.sh 如果s237 namenode启动失败,则 [s237] $>hadoop-daemon.sh start namenode [s233]启动yarn集群

BD错误集锦1——[Hive]ERROR StatusLogger No log4j2 configuration file found. Using default configuration:

错误描述:在使用IDEA进行jdbc方式连接到hive数据仓库时,出现以下错误:                ERROR StatusLogger No log4j2 configuration file found. 问题原因:缺少log4j2.xml文件   <?xml version="1.0" encoding="UTF-8"?><Configuration><Appender

vscode python pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

在vscode中控制台运行python文件出现:无法将"pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 使用vscode开发python,需要安装python开发扩展: 本文已经安装,我们需要找的是python安装所在目录,本文实际路径如下: 如果在本文路径中没有此目录,请尝试在C盘中搜索 python,搜索到相关python目录后,点击Python 3.9进入目录,

如何在OS中获得SSD的寿命耐久度

这里还是以DELL的机器为例,通常DELL的服务器带有的磁盘会有显示SSD耐久度,当然也不排除SSD更新太快,有部分SSD无法在戴尔的服务器上查看到SSD的耐久度,但实际上本身只要是SSD肯定还是可以有方法查看SSD的耐久度,可以通过OS的方式进行查看,以RHEL7.9为例 首先我们需要下载安装DELL的PERCCLI的阵列卡工具,该工具可以很好的查看DELL服务器上的阵列卡对应的信息,如阵列卡

Java compiler level does not match the version of the installed Java project facet. map解决方法

右键项目“Properties”,在弹出的“Properties”窗口左侧,单击“Project Facets”,打开“Project Facets”页面。 在页面中的“Java”下拉列表中,选择相应版本就OK了。

【鸿蒙】ERROR_GET_BUNDLE_INSTALLER_FAILED

错误信息 [ERROR_GET_BUNDLE_INSTALLER_FAILED] Troubleshooting guide $ hdc file send D:\Huawei\devEcoProjects\entry\build\default\outputs\default\entry-default-unsigned.hap /sdcard/e8a215ea7be1444197e6a58e