安装时出错

各位,

也许这个问题已经被回答和处理过了,但我在这里找不到。因此,我发布了我的问题,希望能有人详细说明一下情况:

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

谢谢!

这是全新安装还是您正在使用旧的 yml 来构建容器?

这是一个全新安装,我已经尝试了好几次,但这是我第一次遇到此错误 :no_entry_sign:

您能分享一下您已编辑的 app.yml 文件吗?

哪个部分??从上到下??

是的,整个文件并删除任何敏感信息。

 ## 这是 Discourse Docker 容器的独立一体化模板
  2 ##
  3 ## 修改此文件后,必须重建
  4 ## /var/discourse/launcher rebuild app
  5 ##
  6 ## 编辑时请务必非常小心!
  7 ## YAML 文件对空格或对齐错误非常非常敏感
  8 ## 如有需要,请访问 http://www.yamllint.com/ 来验证此文件
  9
 10 templates:
 11   - "templates/postgres.template.yml"
 12   - "templates/redis.template.yml"
 13   - "templates/web.template.yml"
 14   - "templates/web.ratelimited.template.yml"
 15 ## 如果您想添加 Let's Encrypt (https),请取消注释这两行
 16   #- "templates/web.ssl.template.yml"
 17   #- "templates/web.letsencrypt.ssl.template.yml"
 18
 19 ## 此容器应暴露哪些 TCP/IP 端口?
 20 ## 如果您希望 Discourse 与 Apache 等其他 Web 服务器共享端口
 21 ## 请参阅 https://meta.discourse.org/t/17247 获取详细信息
 22 expose:
 23   - "8080:80"   # http
 24   #- "443:443" # https
 25
 26 params:
 27   db_default_text_search_config: "pg_catalog.english"
 28
 29   ## 将 db_shared_buffers 设置为总内存的最多 25%。
 30   ## 将由 bootstrap 根据检测到的 RAM 自动设置,或者您可以覆盖它
 31   #db_shared_buffers: "256MB"
 32
 33   ## 可以提高排序性能,但会增加每个连接的内存使用量
 34   #db_work_mem: "40MB"
 35
 36   ## 此容器应使用哪个 Git 修订版? (默认值:tests-passed)
 37   #version: tests-passed
 38
 39 env:
 40   LC_ALL: en_US.UTF-8
 41   LANG: en_US.UTF-8
 42   LANGUAGE: en_US.UTF-8
 43   # DISCOURSE_DEFAULT_LOCALE: en
 44
 45   ## 支持多少并发 Web 请求?取决于内存和 CPU 核心。
 46   ## 将由 bootstrap 根据检测到的 CPU 自动设置,或者您可以覆盖它
 47   #UNICORN_WORKERS: 3
 48
 49   ## TODO:此 Discourse 实例将响应的域名
 50   ## 必需。Discourse 不能使用裸 IP 地址。
 51   DISCOURSE_HOSTNAME: 'community.MYWESITE.com'
 52
 53   ## 如果您希望容器以与上面指定的相同主机名 (-h 选项) 启动,请取消注释
 54   ## (默认值为 "$hostname-$config")
 55   #DOCKER_USE_HOSTNAME: true
 56
 57   ## TODO:将成为管理员和开发人员的逗号分隔的电子邮件列表
 58   ## 首次注册时,例如 'user1@example.com,user2@example.com'
 59   DISCOURSE_DEVELOPER_EMAILS: 'MYEMAIL@gmail.com'
 60
 61   ## TODO:用于验证新帐户和发送通知的 SMTP 邮件服务器
 62   # 需要 SMTP 地址、用户名和密码
 63   # 警告:SMTP 密码中的字符 '#' 可能会导致问题!
 64   DISCOURSE_SMTP_ADDRESS: XXXXXXXXXXXXX.COM
 65   #DISCOURSE_SMTP_PORT: 587
 66   DISCOURSE_SMTP_USER_NAME: SMTP_Injection
 67   DISCOURSE_SMTP_PASSWORD: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 68   #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (可选,默认值为 true)
 69   #DISCOURSE_SMTP_DOMAIN: discourse.example.com    # (某些提供商需要)
 70    DISCOURSE_NOTIFICATION_EMAIL: MYEMAIL@gmail.com    # (用于发送通知的地址)
 71
 72   ## 如果您添加了 Let's Encrypt 模板,请取消注释下方以获取免费 SSL 证书
 73   #LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
 74
 75   ## 此 Discourse 实例的 HTTP 或 HTTPS CDN 地址 (配置为拉取)
 76   ## 请参阅 https://meta.discourse.org/t/14857 获取详细信息
 77   #DISCOURSE_CDN_URL: https://discourse-cdn.example.com
 78
 79   ## 用于 IP 地址查找的 MaxMind 地理位置 IP 地址密钥
 80   ## 请参阅 https://meta.discourse.org/t/-/137387/23 获取详细信息
 81   #DISCOURSE_MAXMIND_LICENSE_KEY: 1234567890123456
 82
 83 ## Docker 容器是无状态的;所有数据都存储在 /shared 中
 84 volumes:
 85   - volume:
 86       host: /var/discourse/shared/standalone
 87       guest: /shared
 88   - volume:
 89       host: /var/discourse/shared/standalone/log/var-log
 90       guest: /var/log
 91
 92 ## 插件在此处
 93 ## 请参阅 https://meta.discourse.org/t/19157 获取详细信息
 94 hooks:
 95   after_code:
 96     - exec:
 97         cd: $home/plugins
 98         cmd:
 99             - git clone https://github.com/discourse/docker_manager.git
100
101 ## 构建后要运行的任何自定义命令
102 run:
103   - exec: echo "Beginning of custom commands"
104   ## 如果您想设置首次注册的“发件人”电子邮件地址,请取消注释并更改:
105   ## 收到首次注册电子邮件后,请重新注释该行。它只需要运行一次。
106   #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
107   - exec: echo "End of custom commands"

删除这里的空格

image

这解决了错误,应用程序运行到最后但出现另一个错误,无法启动 discourse!

我向上滚动查看有什么内容,但没有提到任何内容,除了端口 6379 未打开以及这个:

尽管您的 @babel/preset-env 配置中将“loose”选项设置为“false”,但由于 @babel/plugin-proposal-class-properties 的“loose”模式选项设置为“true”,因此它不会用于 @babel/plugin-proposal-private-property-in-object。
对于 @babel/plugin-proposal-class-properties、@babel/plugin-proposal-private-methods 和 @babel/plugin-proposal-private-property-in-object(启用时),“loose”选项必须相同:您可以通过显式添加
        ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
到 Babel 配置的“plugins”部分来消除此警告。
尽管您的 @babel/preset-env 配置中将“loose”选项设置为“false”,但由于 @babel/plugin-proposal-private-property-in-object 的“loose”模式选项设置为“true”,因此它不会用于 @babel/plugin-proposal-private-methods。
对于 @babel/plugin-proposal-class-properties、@babel/plugin-proposal-private-methods 和 @babel/plugin-proposal-private-property-in-object(启用时),“loose”选项必须相同:您可以通过显式添加
        ["@babel/plugin-proposal-private-methods", { "loose": true }]
到 Babel 配置的“plugins”部分来消除此警告。

我不确定这是否重要,但我将首先重新安装 discourse 和我的其他托管其他页面的控制面板 :saluting_face:

我曾向这里的一位用户承诺,如果将 discourse 和其他网站安装在同一台服务器上进展顺利,我会向他报告,我一直在努力使其正常工作,但尚未成功 :notes:

1 个赞

您似乎正尝试在不同的端口上发布。您是否正尝试将 Discourse 置于反向代理之后?

如果确实如此,我建议暂时撤销 expose 语句,然后尝试先通过 80 端口访问。

如果您只是尝试在非 80/443 端口上安装 Discourse 以便直接访问,请注意这行不通且不受支持。

1 个赞

是的,斯蒂芬,我当时正在这样做,但我决定先安装 discourse,然后再玩其他东西……!

在我输入时,我几乎完成了全新安装 :cyclone:

我应该减少咖啡因摄入 :cactus:

好的,我做对了,安装了一个全新的,以便开始新的一天,但我什么也做不了;

  1. 如果我检查 forum.mywebsite.com,我看到的是空白页,除了左上角的 discourse 图标显示之外,什么都没有显示。

  2. 如果我使用 https 访问,我会收到 安全连接失败 的错误,而不是实际的主页。

我检查了所有 DNS、A、TXT、CNAME…!一切正常,事实上,我已经安装并注册了管理员页面,但必须通过 SSH 控制台激活,并且一切顺利,但在此之后什么都没有显示!!!

有人能帮助这个迷茫的人吗 :cry:

您是否启用了 Let’s Encrypt 进行安装?

如果是,您在此次安装和上次安装之间尝试针对此主机名安装了多少次?

据我所知不是。但域名及其子域都在 Cloudflare SSL 和这些小工具上……!
我几分钟前才暂停了它,并在这里检查了网站,然后你就对我说::smiley:
我再试一次,看看之后情况如何!
谢谢 Stephen,你一如既往地救了我 :slight_smile:

顺便说一句。为了所有人的方便,我在安装 discourse 时一直收到此警告,并且将来还会再次出现,除非我知道如何处理它:

尽管您的 @babel/preset-env 配置中将“loose”选项设置为“false”,但它不会用于 @babel/plugin-proposal-private-property-in-object,因为 @babel/plugin-proposal-class-properties 的“loose”模式选项已设置为“true”。
对于 @babel/plugin-proposal-class-properties、@babel/plugin-proposal-private-methods 和 @babel/plugin-proposal-private-property-in-object(启用时),“loose”选项必须相同:您可以通过显式添加
        ["@babel/plugin-proposal-private-property-in-object", { "loose": true }]
到您的 Babel 配置的“plugins”部分来消除此警告。
尽管您的 @babel/preset-env 配置中将“loose”选项设置为“false”,但它不会用于 @babel/plugin-proposal-private-methods,因为 @babel/plugin-proposal-private-property-in-object 的“loose”模式选项已设置为“true”。
对于 @babel/plugin-proposal-class-properties、@babel/plugin-proposal-private-methods 和 @babel/plugin-proposal-private-property-in-object(启用时),“loose”选项必须相同:您可以通过显式添加
        ["@babel/plugin-proposal-private-methods", { "loose": true }]
到您的 Babel 配置的“plugins”部分来消除此警告。

一切顺利 :love_you_gesture:

我遇到了同样的问题

你可以绕过它。如果你知道它的意思,那么你就知道在有需要时如何处理它。我们其他人……只是另一个不需要采取行动的警告。