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

安装John Sundell's Publish后编译报错,寻求解决方案

解决Publish构建时CollectionConcurrencyKit平台版本冲突问题

问题背景

按标准流程安装Publish:

git clone https://github.com/JohnSundell/Publish.git
cd Publish
make

生成/usr/local/bin/publish可执行文件后,创建并初始化站点项目:

mkdir Saturday && cd Saturday
publish new

打开项目的Package.swift(已指定仅支持macOS 12)并保存后,执行构建(cmd-B)时触发错误:

The package product 'CollectionConcurrencyKit' requires minimum platform version 13.0 for the iOS platform, but this target supports 11.0

注:安装Publish时拉取的是CollectionConcurrencyKit 0.1.0,但站点项目自动拉取了0.2.0版本。

解决方案

方案1:锁定CollectionConcurrencyKit版本为0.1.0

修改站点项目的Package.swift,在依赖列表中明确指定CollectionConcurrencyKit的版本,与安装Publish时使用的版本保持一致:

let package = Package(
    name: "Saturday",
    platforms: [.macOS(.v12)],
    dependencies: [
        .package(url: "https://github.com/johnsundell/collectionConcurrencyKit.git", exact: "0.1.0"),
        .package(url: "https://github.com/JohnSundell/Publish.git", from: "0.9.0"),
    ],
    targets: [
        .target(
            name: "Saturday",
            dependencies: ["Publish"]
        ),
        .testTarget(
            name: "SaturdayTests",
            dependencies: ["Saturday"]
        )
    ]
)

修改后执行swift package update,再重新构建项目。

方案2:升级Publish到最新版本

重新安装最新版Publish,确保其依赖的CollectionConcurrencyKit版本与项目要求匹配:

cd Publish
git pull origin main
make clean && make

之后可重新创建站点项目,或在现有项目中更新Publish依赖版本:

.package(url: "https://github.com/JohnSundell/Publish.git", from: "<最新版本号>"),

执行swift package update后重新构建。

方案3:为目标显式指定平台范围

在项目的Package.swift中,给目标单独指定仅支持macOS平台,避免SwiftPM自动解析其他平台的依赖要求:

.target(
    name: "Saturday",
    dependencies: ["Publish"],
    platforms: [.macOS(.v12)]
),

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:55:19