この解決策は機能しますか?d/boot_dev --init の先へ進めませんでした。
更新:
わかりました。discourse_dev コンテナ内の discourse ユーザーのように、開発者の UID が 1000 でない場合、これは機能しないようです。
uid=1000(discourse) gid=1000(discourse) groups=1000(discourse)
私が直面した一連の問題
nastee@station ~/vendsrc/discourse > ./d/boot_dev --init
Using source in: /home/nastee/vendsrc/discourse
Using data in: /home/nastee/vendsrc/discourse/data/postgres
release: Pulling from discourse/discourse_dev
.....
Digest: sha256:e118af085d4be0486d4d9bfa83ac1c519d9975bed9a08180d10d5ad7c508632c
Status: Downloaded newer image for discourse/discourse_dev:release
docker.io/discourse/discourse_dev:release
f517752802e70b8a9110972bb3ddc0e9343d0c430603e4a9ae3eacc5ec69a2cf
Installing gems...
There was an error while trying to write to `/src/Gemfile.lock`. It is likely that you need to grant write permissions for that path.
そのファイルを 777 に設定しました(いやらしいですが)。そうすると、少なくとも Gems のインストールは進むようになりました。しかし、次の docker exec プロセスがソースディレクトリに書き込もうとした際に失敗しました。なぜなら、それが私のユーザーとして実行されていないからです。エラーは以下の通りです:
EACCES EACCES: permission denied, open '/src/_tmp_82_62be1aeb82e80c1d1054dac8bdbc5923'
仕方ないので、sudo chmod 4777 . を実行しました。ここで「.」は d/ を実行しているクローンされたソースディレクトリです。
その結果、以下のようなエラーになりました:
EACCES Error while trying to symlink "../../../node_modules/.pnpm/prettier@3.8.1/node_modules/prettier" to "/src/docs/developer-guides/node_modules/prettier". The error happened while trying to create the parent directory for the symlink target. Details: Error: EACCES: permission denied, mkdir '/src/docs/developer-guides/node_modules'
さらに別の権限エラーに遭遇し、結局 chmod 777 -R . を実行して諦めました。
最終的に以下のようなエラーに至りました:
connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory