这个解决方案可行吗?我无法越过 d/boot_dev --init 这一步。
更新:
我明白了,如果你的开发者 UID 不是 1000(就像 discourse_dev 容器中的 discourse 用户那样),这个方法似乎就失效了。
uid=1000(discourse) gid=1000(discourse) groups=1000(discourse)
我遇到的一系列问题
nastee@station ~/vendsrc/discourse > ./d/boot_dev --init
正在使用位于:/home/nastee/vendsrc/discourse 的源码
正在使用位于:/home/nastee/vendsrc/discourse/data/postgres 的数据
release: 正在从 discourse/discourse_dev 拉取
.....
摘要:sha256:e118af085d4be0486d4d9bfa83ac1c519d9975bed9a08180d10d5ad7c508632c
状态:已下载 discourse/discourse_dev:release 的新镜像
docker.io/discourse/discourse_dev:release
f517752802e70b8a9110972bb3ddc0e9343d0c430603e4a9ae3eacc5ec69a2cf
正在安装 gems...
尝试写入 `/src/Gemfile.lock` 时出错。您可能需要为该路径授予写入权限。
我将该文件权限设为 777(真恶心),这样做之后,至少 Gems 现在可以安装了,但下一个 docker exec 进程尝试写入源码目录时却失败了,因为它并非以我的用户身份运行,于是我得到了以下错误:
EACCES EACCES: 权限被拒绝,无法打开 '/src/_tmp_82_62be1aeb82e80c1d1054dac8bdbc5923'
好吧,那为什么不试试 sudo chmod 4777 . 呢,其中 . 是我正在运行 d/ 命令的克隆源码目录。
这导致我遇到了:
EACCES 尝试创建符号链接 "../../../node_modules/.pnpm/prettier@3.8.1/node_modules/prettier" 到 "/src/docs/developer-guides/node_modules/prettier" 时出错。错误发生在尝试创建符号链接目标父目录时。详细信息:Error: EACCES: 权限被拒绝,无法创建目录 '/src/docs/developer-guides/node_modules'
在遇到另一个权限问题并直接执行 chmod 777 -R . 之后:
最终导致:
连接到位于套接字 "/var/run/postgresql/.s.PGSQL.5432" 的服务器失败:没有此类文件或目录