在更新过程中出现错误:ESOCKETTIMEDOUT registry.yarnpkg.com

太棒了。引用以永久保存和搜索:

但是,当我等待第 9 步完成(在运行 ./discourse-setup 并完成所有构建后)时,它会因与 yarn 相关的 ESOCKETTIMEDOUT 错误而失败。最后一条尝试运行的消息是 [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production \u0026\u0026 yarn cache clean'。

修复方法

您需要安装一个编辑器;我更喜欢 nano,所以 apt-get install nano 就可以解决问题。然后转到 /var/discourse/templates 并运行:nano web.template.yml。为了进行比较,这是您从 github 克隆的文件,感兴趣的区域大约在第 159 行。看起来熟悉吗?它与上面提到的失败前的命令相同。我们需要在此行上方添加一个新部分以增加超时时间。

  • exec: cd: $home cmd: - “su discourse -c ‘yarn config set network-timeout 600000 -g’”

保存此更改,然后重新运行 ./discourse-setup,瞧,就完成了!这肯定需要一段时间,尤其是 brotli 压缩步骤,但它会完成。