为何VSCode的Jsonnet Language Server判定该行代码存在错误?
Jsonnet语言服务器导入报错但代码运行正常的原因及解决
你的代码local containers = import 'containers.libsonnet';实际执行完全正常,但VSCode的Jsonnet Language Server却报出无法打开导入"containers.libsonnet": 在本地或Jsonnet库路径中未找到匹配项的错误,核心原因是语言服务器的库路径配置和你实际运行Jsonnet时的环境不匹配。
具体原因:
- 你本地运行Jsonnet时,可能通过命令行参数(如
-J/--jpath)指定了包含containers.libsonnet的目录,或者该文件所在目录属于Jsonnet默认识别的库路径,但VSCode的Jsonnet Language Server并未继承这一配置。 - 语言服务器默认仅在当前工作目录和Jsonnet标准库路径下查找导入文件,若你依赖的文件在其他目录,服务器无法自动识别。
解决方法:
在VSCode的设置中配置jsonnet.libPaths,将containers.libsonnet所在的目录路径添加进去。示例配置如下:
{ "jsonnet.libPaths": [ "./relative/path/to/your/lib/folder" ] }
内容的提问来源于stack exchange,提问作者user3877654
相关产品推荐
相关产品推荐

