[マルチサイトインストール] リビルド中のpnpn権限エラー

こんにちは。

web_only コンテナのアップグレード/再構築ができません。multisite migrate を呼び出す際に再構築が失敗するようです。新規インストール(データなし、data.ymlweb_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: permission denied, open '/root/.npmrc'
 WARN  "/root/.config/pnpm/rc" の読み取り中に問題が発生しました。EACCES: permission denied, open '/root/.config/pnpm/rc'
 ERROR  EACCES: permission denied, mkdir '/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 を付けてタスクを実行してください)


FAILED
--------------------
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'
exec failed with the params "cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate"
bootstrap failed with exit code 1
** BOOTSTRAP 失敗 ** スクロールアップして、以前のエラーメッセージを確認してください。エラーが複数ある可能性があります。

@david / @cvx 最近行った pnpm アップグレードに関連している可能性がありますか? :thinking:

これは sudo -H -E -u discourse… であるべきです

set_home をデフォルトにするべきかもしれません)

「いいね!」 2

25分後に全く同じ答えが返ってくるとは信じられません :tada:

本当に本当にありがとうございます、再構築は成功しました!

確かに、私の web_only.yml には間違ったコマンドが含まれていました。これらのチュートリアルのいずれかに従ったことを覚えています。(それらにはまだ間違ったコマンドが含まれています。それらの投稿をどう編集すればよいかわかりません)。

「いいね!」 2

はい、そうなる可能性があります。なぜなら、v10にアップグレードしようとした際にアップグレードが失敗し、9.somethingの状態だったため、手動でpnmpを更新したからです。
そして、はい、私のケースはマルチサイトではないため、トピックから外れています。OPは別の問題を抱えていました。

「いいね!」 1