将插件添加到 app.yml 的格式问题

您好,我从昨天开始就是 Discourse 用户,但使用提供的代码一直无法安装插件,因为它总是显示以下错误:

(未知):在第 10 行第 1 列解析块映射时未找到预期的键 -e LANG=en_US.UTF-8
YAML 语法错误。请检查您的 containers/*.yml 配置文件。

但是,我设法安装了至少 1 个插件,使用了第一个基础代码右侧的代码:

&& sudo -E -u discourse git clone GitHub - discourse/discourse-solved: Allow accepted answers on topics

但是之后我无法再安装更多插件,因为该错误总是出现。

值得注意的是,我的安装是西班牙语的,我尝试将 en_US 更改为 es_ES,但问题也没有解决。

1 个赞

您能否分享一下您的 after_code 代码块的片段?yaml 对空格非常敏感,您可能不小心缩进了不该缩进的行。

4 个赞

正如 Fireup 所建议的,请确保您没有为缩进添加或删除额外的空格。
您可以使用类似 https://yamlchecker.com/ 的工具来检查一切是否正确。 :+1:

2 个赞

您的行应与上面一行的缩进级别相同。例如:

      cmd:
         - git clone...
         - git clone...
5 个赞

嘿朋友,非常感谢。有了那个网站,我解决了问题,那个网站以后绝对会是我的好朋友。:grin:

4 个赞

编译后,它在最后给了我这个错误

从您之前发布的这张图片来看:

您还需要遵循第一个原始行的格式,如这里所述:

所以您的可能需要看起来像这样:


hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-akismet.git
          - git clone https://github.com/discourse/discourse-whos-online.git

4 个赞

只是想为这个话题补充一点,如果你正在使用 VS Code,我强烈推荐安装一个名为 indent-rainbow 的扩展

名称:indent-rainbow
ID:oderwat.indent-rainbow
描述:使缩进更易于阅读
版本:8.3.1
发布者:oderwat
VS Marketplace 链接:indent-rainbow - Visual Studio Marketplace

看起来像这样

这使得在 YAML 文件中查看缩进变得更加容易。在 VS Code 中,你也应该使用快捷键,如 Cmd + [ 或 Cmd + ] 来增加或减少缩进。

哦,还忘了提一下,也要打开可见空格,那就是截图中可以看到的小灰点。

3 个赞