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

当依赖名称与项目名称相同时,执行swift build触发段错误崩溃

嘿,我碰到过这个Swift Package Manager的坑!当你的项目名称和引入的依赖名称完全一致时,执行swift build会直接触发段错误崩溃,下面是完整的复现步骤:

问题复现流程

1. 创建项目并初始化

先在终端执行这两条命令,创建一个可执行类型的Swift Package项目:

mkdir myProject && cd myProject
swift package init --type executable

2. 修改Package.swift添加同名依赖

打开自动生成的Package.swift文件,在dependencies数组里添加一个和当前项目名称完全相同的外部依赖(示例用占位URL,实际换成真实的同名依赖即可):

// swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription

let package = Package(
    name: "myProject",
    dependencies: [
        // 注意:这个依赖的名称必须和项目名"myProject"一致
        .package(url: "https://github.com/...", from: "1.0.0"),
    ],
    targets: [
        .target(
            name: "myProject",
            dependencies: []),
    ]
)

3. 触发崩溃

保存文件后,在终端执行:

swift build

此时你会发现Swift Package Manager直接因段错误(Segmentation Fault)崩溃,根本无法完成构建。

这个问题本质是SPM在解析项目自身和依赖的命名时,没有处理好完全同名的冲突场景,导致内部逻辑出错。

内容的提问来源于stack exchange,提问作者R.B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:53:08