2

我真的很想尝试使用 VSCode 扩展的 ksonnet,但似乎无法正确设置,我已经阅读了设置说明。

我做了以下事情:

  • brew install ks
  • brew install jsonnet
  • ks init traefik
  • git clone https://github.com/ksonnet/ksonnet-lib.git
  • 编辑 vscode 设置并添加ksonnet-lib到设置: "jsonnet.libPaths": ["/Users/kross/projects/gke/ksonnet-lib"],
  • 在新的 vscode 窗口中打开生成的traefik文件夹(不是最好的,但想知道根路径的解析)

以下是我看到的错误:

RUNTIME ERROR: couldn't open import "base.libsonnet": no match locally or in the Jsonnet library paths.
Can't find path 'base.libsonnet'. If the file is not in the current directory, it may be necessary to add it to the 'jsonnet.libPaths'. If you are in vscode, you can press 'cmd/ctrl-,' and add the path this library is located at to the 'jsonnet.libPaths' array

在此处输入图像描述

注意:预览窗格适用于ks generate deployed-service文件,但预览窗格不适用于教程 redis实例(但ks show default确实有效):

Command failed: jsonnet -J /Users/kross/projects/gke/ksonnet-lib  --ext-code-file "__ksonnet/params"=/Users/kross/projects/gke/traefik/components/params.libsonnet --ext-code-file "__ksonnet/environments"=/Users/kross/projects/gke/traefik/environments/default/params.libsonnet /Users/kross/projects/gke/traefik/components/redis.jsonnet
RUNTIME ERROR: couldn't open import "k.libsonnet": no match locally or in the Jsonnet library paths.
/Users/kross/projects/gke/traefik/components/redis.jsonnet:4:11-31  thunk 
/Users/kross/projects/gke/traefik/components/redis.jsonnet:18:11    thunk 
std.jsonnet:1239:24 
std.jsonnet:1239:15-26  thunk 
std.jsonnet:1240:8  thunk 
std.jsonnet:1240:8-20   function 
std.jsonnet:1240:8-20   function 
/Users/kross/projects/gke/traefik/components/redis.jsonnet:(18:1)-(22:4)    

我一定错过了一些非常基本的东西——它是什么?

4

1 回答 1

2

使用 VScode JSONNET 扩展时,我遇到了类似的错误。见这里:https ://github.com/heptio/vscode-jsonnet/issues/57

我可以通过修改用户设置中的扩展设置来解决这个问题:

"jsonnet.libPaths": [
    "<my-home-dir-full-path>/go/src/github.com/ksonnet/ksonnet-lib/ksonnet.beta.3"
],

另外,请注意,目前官方的 ksonnet VSCode 扩展正在由 ksonnet 团队开发。

于 2018-08-08T18:48:14.553 回答