Discourse Launcher 启动失败

你好。我一直在尝试迁移我们当前的Discourse服务器,并试图在我们的新VPS上进行全新安装,但使用我们的应用配置引导时出现了奇怪的错误。
我试过从头开始使用./discourse-setup脚本进行引导,但即使如此也失败了。不知道这个脚本目前是否存在问题?
以下是看到的错误:

我, [2025-04-17T08:59:36.609118 #1]  INFO -- :  cd /var/www/discourse  && su discourse -c 'bundle exec rake assets:precompile:build'
Node.js 堆大小限制小于 2048MB。设置 --max-old-space-size=2048 和 CHEAP_SOURCE_MAPS=1
未找到现有的构建信息文件。
正在运行完整的核心构建...
...[ConfigLoader]
...[Babel: @embroider/macros  applyPatches]
...[Babel: @ember/legacy-built-in-components  applyPatches]
...[Babel: ember-source  applyPatches]
[BABEL] 注意:由于代码生成器超过500KB的最大限制,已对 /var/www/discourse/app/assets/javascripts/discourse/ember/ember-template-compiler.js 的样式进行了去优化。
[BABEL] 注意:由于代码生成器超过500KB的最大限制,已对 /var/www/discourse/app/assets/javascripts/discourse/ember/ember.js 的样式进行了去优化。
...[Babel: @glimmer/component  applyPatches]
...[Babel: dialog-holder  applyPatches]
...[Babel: ember-buffered-proxy  applyPatches]
...[Babel: float-kit  applyPatches]
...[Babel: select-kit  applyPatches]
...[@embroider/compat/app]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
...[@embroider/webpack]
/var/www/discourse/script/assemble_ember_build.rb:103:in `system': 命令执行失败,退出码 1: pnpm (RuntimeError)
        来自 /var/www/discourse/script/assemble_ember_build.rb:103:in `main'
我, [2025-04-17T09:00:51.861399 #1]  INFO -- : 正在构建
环境:生产
设置 'staticAddonTrees' 将在下一版本的 Embroider 中默认为 true,且无法关闭。为做好准备,您应在 Embroider 配置中设置 'staticAddonTrees: true'。
设置 'staticAddonTestSupportTrees' 将在下一版本的 Embroider 中默认为 true,且无法关闭。为做好准备,您应在 Embroider 配置中设置 'staticAddonTestSupportTrees: true'。
构建中...
未定义
 ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL  命令被SIGKILL(强制终止)结束:ember build -prod
```{"translation": "我, [2025-04-17T09:00:51.867412 #1]  信息 -- : 正在终止异步进程
我, [2025-04-17T09:00:51.867492 #1]  信息 -- : 发送 INT 到 HOME=/var/lib/postgresql USER=postgres 执行 chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 60
我, [2025-04-17T09:00:51.867579 #1]  信息 -- : 发送 TERM 到执行 chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 127
127:signal-handler (1744880451) 收到 SIGTERM,安排关闭...
2025-04-17 09:00:51.867 UTC [60] 日志: 收到快速关闭请求
127:M 17 Apr 2025 09:00:51.877 # 用户请求关闭...
127:M 17 Apr 2025 09:00:51.878 * 在退出之前保存最后一次 RDB 快照。
2025-04-17 09:00:51.887 UTC [60] 日志: 中止任何活动的事务
2025-04-17 09:00:51.892 UTC [60] 日志: 后台工作者 "logical replication launcher" (PID 74) 以退出码 1 退出
2025-04-17 09:00:51.898 UTC [69] 日志: 正在关闭
2025-04-17 09:00:51.914 UTC [69] 日志: 检查点开始:立即关闭
127:M 17 Apr 2025 09:00:51.920 * 将数据库保存到磁盘
127:M 17 Apr 2025 09:00:51.921 # Redis 现在准备退出,再见...
2025-04-17 09:00:52.386 UTC [69] 日志: 检查点完成:写入 2498 缓冲区 (1.9%); 添加 0 个 WAL 文件,删除 0 个,回收 1 个;写入=0.169秒,同步=0.237秒,总计=0.487秒;同步文件=2479,最长=0.017秒,平均=0.001秒;距离=17712 KB,估计=17712 KB
2025-04-17 09:00:52.411 UTC [60] 日志: 数据库系统已关闭


失败
--------------------
Pups::ExecError:切换到 /var/www/discourse 目录 && 以 discouse 用户身份运行 'bundle exec rake assets:precompile:build' 失败,返回值 #<Process::Status: pid 1166 退出码 1>
失败位置:/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
执行失败,参数为 {"cd"=>"$home", "tag"=>"build", "hook"=>"assets_precompile_build", "cmd"=>["su discourse -c 'bundle exec rake assets:precompile:build'"]}
引导失败,退出码为 1
** 启动失败 ** 请向上滚动查找之前的错误信息,可能有多个。
./discourse-doctor 可能有助于诊断问题。
70f2ceaa8de6662e06cb24304c087499e549d105eaab891ea40bccf16d50bf80
```"}

当服务器内存不足时会发生这种情况。该服务器有多少 RAM 和/或 SWAP?

4 个赞

总共有4G,运行启动器时大约剩余~2.5G

总计        使用        空闲      共享  缓冲/缓存   可用
内存:            3911         715        2773           1         683        3196
交换:              0           0           0

不过没有交换区,因为我觉得在系统还有超过2GB可用的情况下它是不必要的。我会尝试添加一个交换分区。

1 个赞

设置好交换后,它现在似乎可以工作了。非常感谢!

1 个赞

感谢您报告此结果,我已进行更改以使其自动发生

3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.