You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode 14 beta 1引入本地Swift包构建失败无法克隆目录问题

Xcode 14 beta 1 本地Swift包构建失败问题

问题现象

项目集成多个本地Swift包时,在Xcode 13.4.1版本下可正常构建运行,切换至Xcode 14 beta 1版本后所有包均构建失败,关联本地包时抛出如下错误信息:

Showing All Messages
Cannot clone from local directory /Users/...
Please git init or use "path:" for Location(scratchDirectory...

已尝试的无效排查方案

  • 在Xcode中移除对应包的引用后重新添加
  • 在Xcode中移除包引用,将包目录迁移至其他路径,在Xcode中创建全新的包后将原有代码文件移入新包目录再重新引用
  • 执行常规的Clean Build Folder、Reset Package Caches操作
  • 将被依赖的包使用全新名称创建后重新导入项目

问题背景

出现问题的Swift包均为项目本地组件,创建时已选择添加至对应项目,存放路径位于项目目录下。

根因说明

该问题是Xcode 14 beta 1内置Swift Package Manager的已知回归bug:当引用的本地包目录未被识别为git仓库根目录时,SPM不会自动将其判定为本地路径依赖,反而会尝试将本地目录作为远程仓库地址执行clone操作,最终触发报错。

可行解决方案

以下两种方案任选其一即可修复问题:

  1. 为本地包目录初始化git仓库
    打开终端进入每个本地Swift包的根目录(存放Package.swift文件的层级),执行git init命令初始化空本地git仓库。无需提交代码、无需关联远程仓库,目录下存在.git文件夹即可绕过SPM的路径校验逻辑。若项目整体已做git版本控制,子目录内的空git仓库不会影响主仓库的版本管理逻辑。
  2. 手动修改包引用的路径标识
    若无需为本地包单独初始化git,可手动修改项目配置显式声明本地路径:
    • 关闭Xcode,找到项目根目录下的.xcodeproj文件,右键选择「显示包内容」
    • 打开project.pbxproj配置文件,搜索所有本地Swift包的引用条目,为location字段对应的路径值显式添加path:前缀,匹配错误提示要求的路径标识格式
    • 保存配置文件后重新打开Xcode,执行一次Reset Package Caches后重新构建即可

补充校验:操作后若仍存在报错,检查本地包存放路径不要包含中文、全角特殊字符,Xcode 14 beta阶段的SPM对非ASCII路径存在已知兼容问题。

内容的提问来源于stack exchange,提问作者Gerd Castan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 00:21:32