您好,
我无法升级/重建我的 web_only 容器。调用 multisite migrate 时重建似乎失败了。全新安装(没有数据,只有我的 data.yml 和 web_only.yml 文件)会产生相同的错误(数据容器的重建成功完成,没有错误)。
是我做错了什么,还是最近的升级引入了错误?
或者,我如何才能绕过这个错误?我不了解脚本的内部工作原理,但脚本首先显示 /root/ 不可写入,然后创建一个临时文件夹,接着似乎因为在 /root/ 目录中执行 mkdir 失败而崩溃。
非常感谢!
=> 正在播种主题和颜色方案
I, [2026-01-16T17:32:37.738763 #1] INFO -- : => cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate
`/root` 不可写入。
Bundler 将暂时使用 `/tmp/bundler20260116-787-ovvxnu787` 作为您的主目录。
rake 中断!
Discourse::Utils::CommandError: pnpm -C=frontend/asset-processor node build.js (Discourse::Utils::CommandError)
WARN 读取 "/root/.npmrc" 时出现问题。EACCES: 权限被拒绝,打开 "/root/.npmrc"
WARN 读取 "/root/.config/pnpm/rc" 时出现问题。EACCES: 权限被拒绝,打开 "/root/.config/pnpm/rc"
ERROR EACCES: 权限被拒绝,创建目录 "/root/.local/share/pnpm/.tools/pnpm/10.28.0_tmp_901"
如需帮助,请运行:pnpm help run
/var/www/discourse/lib/discourse.rb:171:in `execute_command'
/var/www/discourse/lib/discourse.rb:137:in `exec'
/var/www/discourse/lib/discourse.rb:32:in `execute_command'
/var/www/discourse/lib/asset_processor.rb:27:in `build_asset_processor'
/var/www/discourse/lib/asset_processor.rb:31:in `build_production_asset_processor'
/var/www/discourse/lib/tasks/assets.rake:155:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => multisite:migrate => assets:precompile:asset_processor
(通过运行任务与 --trace 查看完整跟踪)
失败
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate 失败,返回代码 #<Process::Status: pid 785 exit 1>
失败位置: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.4.0/lib/pups/exec_command.rb:138:in `spawn'
使用参数 "cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate" 执行失败
引导失败,退出代码 1
** 引导失败 ** 请向上滚动查找更早的错误消息,可能不止一个。