wire-server/ansible安装中poetry install报缺失pyproject.toml错误求解
Poetry执行
install报找不到pyproject.toml的解决方案 这个报错是Poetry的内置校验逻辑触发的:执行命令时会从当前工作目录开始,递归向上遍历所有父目录,全程检索不到项目必需的pyproject.toml配置文件时,就会在~/.poetry/lib/poetry/_vendor/py3.8/poetry/core/factory.py的定位方法处抛出RuntimeError,不属于环境损坏类的复杂故障。
实际排查与操作步骤
- 先定位正确的配置文件路径
对照Wire部署仓库的目录结构,Poetry依赖的pyproject.toml文件存放在wire-server-deploy仓库的根目录,而非当前操作的ansible子路径下。可以先执行find /home/kodi66/wire-server-deploy -name "pyproject.toml",确认配置文件的实际存放位置。 - 切换到正确路径执行命令
不要在/home/kodi66/wire-server-deploy/ansible目录下直接跑poetry install,先执行cd /home/kodi66/wire-server-deploy回到仓库根目录,再重新执行安装命令即可正常识别配置。 - 特殊场景的兼容操作
如果因为操作习惯不想手动切换目录,可以直接在Poetry命令里指定项目路径,不需要调整当前工作目录:执行poetry --directory /home/kodi66/wire-server-deploy install,Poetry会自动到指定路径下检索pyproject.toml,绕开当前目录的路径检索限制。 - 异常兜底排查
如果到仓库根目录下依然检索不到pyproject.toml,说明克隆仓库时文件拉取不全,直接重新拉取对应部署版本的完整仓库分支即可,不要单独复制ansible子目录的零散文件做操作。
内容的提问来源于stack exchange,提问作者user2120882
相关产品推荐
相关产品推荐

