使用相对路径在 Jsnonnet/libsonnet 应用程序中导入文件

Import file in Jsnonnet/libsonnet application using relative path

提问人:Charlie 提问时间:11/8/2023 更新时间:11/8/2023 访问量:21

问:

我有一个 libsonnet 文件,我想在其中导入另一个证明相对路径的 libsonnet 文件

我可以通过从当前文件夹向后退来做到这一点 例如:import '../../../abc.libsonnet'

有没有办法通过证明根文件夹中的相对路径来导入相同的路径?如下所示 导入 './appl/example/test/abc.libsonnet

我试过这个,但在运行时遇到“本地不匹配”错误

json 导入 relative-path spinnaker jsonnet

评论


答:

1赞 jjo 11/8/2023 #1

正如您已经发现的,路径是从以下位置解析的:import

  • 当前目录
  • 导入它的 jsonnet 源文件的目录

您可以通过以下方式向 CLI 添加另一个目录:

  • 将 arg 用作:-J
    jsonnet -J <ROOT_DIR> ...
    
  • 预导出以下环境变量:
    env JSONNET_PATH=<ROOT_DIR> jsonnet ...
    

在您的情况下,这可能是

  • 还是相对的:
    $ jsonnet -J "${PWD}/../../../" ...
    
  • “解析”相对路径:
    $ jsonnet -J "$(realpath ../../../)" ...
    

如需了解更多详情,请访问:https://www.mankier.com/1/jsonnet#Environment