swift包管理器中的“警告:没有要在包中构建的目标”错误

     2023-04-18     84

关键词:

【中文标题】swift包管理器中的“警告:没有要在包中构建的目标”错误【英文标题】:"warning: no targets to build in package" error in swift package manager 【发布时间】:2018-03-13 05:04:03 【问题描述】:

我正在尝试使用 swift 包管理器将 SocketIO 安装到我的 swift 4 iOS 项目中。 Package.swift 文件如下所示:

// 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: "MyApp",

    dependencies: [
        .package(url: "https://github.com/socketio/socket.io-client-swift", .upToNextMajor(from: "12.0.0"))
    ]

)

在命令行中,当我输入“swift build”时,会获取包但出现错误:

“警告:包中没有要构建的目标”

当我尝试在我的应用中导入 SocketIO 时,我得到:

“没有这样的模块'SocketIO'”错误。

这是我第一次使用包管理器。只是想知道如何解决这个问题以及我是否需要自己在 Package.swift 文件中添加目标?

不确定我最初是否正确设置了包管理器。还想知道是否有办法卸载并重新安装 Package Manger?还是只是替换项目目录下的Package.swift文件。

【问题讨论】:

您是否尝试清理项目并删除 DerivedData? 我现在已经删除了 DerivedData 并再次尝试但同样的消息。 “警告:没有要在包中构建的目标” 重启Xcode,清理构建希望解决项目 重启和清理/构建不能解决问题。 @alionthego 在这个话题上产生了一个问题:github.com/socketio/socket.io-client-swift/issues/827你能跟进这个吗。 【参考方案1】:

您可以尝试以下方法吗:

使用.Package 而不是.package 使用majorVersion: 12, minor: 0 而不是.upToNextMajor

代码:

import PackageDescription

 let package = Package (
    name: "MyApp",
    dependencies: [
       .Package(url: "https://github.com/socketio/socket.io-client-swift", majorVersion: 12, minor: 0)
    ]
)

输出:

如果成功构建,将创建以下内容:

Package.resolved 将包含使用的包 .build 隐藏目录已创建,这些将包含构建文件。

测试日期:

斯威夫特 4.0

参考:

https://swift.org/getting-started/#using-the-package-manager

【讨论】:

错误:类型 'Package.Dependency' 没有成员 'Package' .Package(url: "github.com/socketio/socket.io-client-swift", .upToNextMajor(from: "12.0.0")) 您使用的是哪个版本的 Swift ?你是 linux 还是 Mac? Mac 和 Swift 4.0 几点注意,Swift Package Manager 目前只支持 Mac app 哦....我不知道。也许这就是为什么没有链接依赖项的原因。非常感谢。【参考方案2】:

我遇到了同样的问题。

我找到了 SPM v4 的文档。

由此link

所以,你应该试试这个:

// 1.0.0 ..< 2.0.0
.package(url: "/SwiftyJSON", from: "1.0.0"),

// 1.2.0 ..< 2.0.0
.package(url: "/SwiftyJSON", from: "1.2.0"),

// 1.5.8 ..< 2.0.0
.package(url: "/SwiftyJSON", from: "1.5.8"),

// 1.5.8 ..< 2.0.0
.package(url: "/SwiftyJSON", .upToNextMajor(from: "1.5.8")),

// 1.5.8 ..< 1.6.0
.package(url: "/SwiftyJSON", .upToNextMinor(from: "1.5.8")),

// 1.5.8
.package(url: "/SwiftyJSON", .exact("1.5.8")),

// Constraint to an arbitrary open range.
.package(url: "/SwiftyJSON", "1.2.3"..<"1.2.6"),

// Constraint to an arbitrary closed range.
.package(url: "/SwiftyJSON", "1.2.3"..."1.2.8"),

// Branch and revision.
.package(url: "/SwiftyJSON", .branch("develop")),
.package(url: "/SwiftyJSON", .revision("e74b07278b926c9ec6f9643455ea00d1ce04a021"))

【讨论】:

在 swift 包管理器中添加 Apollo 的代码生成构建脚本时出错

】在swift包管理器中添加Apollo的代码生成构建脚本时出错【英文标题】:ErrorwhenaddingacodegenerationbuildscriptofApolloinswiftpackagemanager【发布时间】:2020-02-0104:00:30【问题描述】:xcode给我的错误是:./../SourcePackages/checkouts/apollo-ios/scripts:... 查看详情

#if canImport(CoreImage) 在快速包管理器中不起作用

】#ifcanImport(CoreImage)在快速包管理器中不起作用【英文标题】:#ifcanImport(CoreImage)notworkinginswiftpackagemanager【发布时间】:2018-10-0414:53:14【问题描述】:我正在制作使用CoreImage的库。库支持Cocoapods、Carthage和Swift包管理器。当我在Swi... 查看详情

如何在 Eclipse 项目资源管理器中的包内创建子包

】如何在Eclipse项目资源管理器中的包内创建子包【英文标题】:Howtocreateachildpackageinsideapackageineclipseprojectexplorer【发布时间】:2013-03-1900:42:21【问题描述】:如何在Eclipse项目资源管理器的包中创建子包?我已经试过了。。com.proj... 查看详情

如何在 Xcode 11 中删除 Swift 包依赖项?

...描述】:我在Xcode11中有一个项目,我向其中添加了Swift包管理器依赖项。我现在意识到我不再需要以前添加到项目中的包依赖项之一。如下所示,File&gt;SwiftPackages下没有用于从Swift包管理器中删除此项目 查看详情

如何从 Eclipse 插件中获取包资源管理器中的选定节点

】如何从Eclipse插件中获取包资源管理器中的选定节点【英文标题】:HowtogettheselectednodeinthepackageexplorerfromanEclipseplugin【发布时间】:2010-10-0919:19:58【问题描述】:我正在编写一个Eclipse命令插件,并希望在包资源管理器视图中检... 查看详情

是否可以在柯南包管理器中使用 github 分支?

】是否可以在柯南包管理器中使用github分支?【英文标题】:Isitpossibletouseagithubbranchinconanpackagemanager?【发布时间】:2020-07-1123:53:09【问题描述】:我想使用imguis对接分支。我想弄清楚的问题是使用柯南包管理器是否可以要求特... 查看详情

从源代码管理 XCode 中删除 Swift 包

】从源代码管理XCode中删除Swift包【英文标题】:RemovingSwiftPackagesfromSourceControlXCode【发布时间】:2021-04-2503:38:50【问题描述】:我最近将一些Swift包手动添加到我的Xcode11.3项目中,方法是将它们拖放到项目导航器中。这使我可以... 查看详情

Alamofire 库没有响应 Swift 包管理器

】Alamofire库没有响应Swift包管理器【英文标题】:AlamofirelibrarynotrespondingwithSwiftPackageManager【发布时间】:2017-03-2714:33:35【问题描述】:我是Swift包管理器的新手,我正在创建一个可执行文件,我需要在其中处理RESTAPI,因为我正在... 查看详情

resharper中的扩展管理器中搜索不到我要下载的插件?

如题想下载很多的扩展包都搜索不到,只显示最热门的几十个,之前是可以找到的,今天更新之后就搜索不到了参考技术AShegoestoawell 查看详情

如何防止 Eclipse 在包资源管理器中显示打开的文件

】如何防止Eclipse在包资源管理器中显示打开的文件【英文标题】:HowtopreventEclipsefromshowingtheopenedfileinpackageexplorer【发布时间】:2010-10-2207:24:04【问题描述】:不知何故,当我使用Eclipse浏览源文件时,Eclipse总是使用包资源管理器... 查看详情

java示例代码_在包资源管理器中以编程方式更改选择

java示例代码_在包资源管理器中以编程方式更改选择 查看详情

如何在 Eclipse 包资源管理器中更改已修改文件/包的颜色?

】如何在Eclipse包资源管理器中更改已修改文件/包的颜色?【英文标题】:Howtochangethecolorofmodifiedfiles/packagesintheEclipsePackageExplorer?【发布时间】:2016-07-0610:25:34【问题描述】:在Eclipse的包资源管理器中,我想更改已修改文件和包... 查看详情

有没有办法在 Eclipse 的包资源管理器中嵌套包? [复制]

】有没有办法在Eclipse的包资源管理器中嵌套包?[复制]【英文标题】:IsthereawaytonestpackagesinEclipse\'sPackageExplorer?[duplicate]【发布时间】:2011-09-2701:27:55【问题描述】:我一直在寻找答案。谢谢。【问题讨论】:我假设您想要一个... 查看详情

Eclipse - 在项目/包资源管理器中更改字体大小

】Eclipse-在项目/包资源管理器中更改字体大小【英文标题】:Eclipse-changingfontsizeinproject/packageexplorer【发布时间】:2011-05-2620:37:48【问题描述】:我正在使用两种环境,一种是24英寸的屏幕,另一种是15英寸的。我需要第一个项目/... 查看详情

swift包管理器教程

...uctiontotheSwiftPackageManager作者:MikaelKonutgan译者:kmyhySwift包管理器的正式发布是随着Swift3.0一起发布的,它是一个用于构建能够运行在macOS和Linux上的Swift库和app的新方法。它能够帮助你管理依赖,让你轻松构建、测试和运行你的Swif... 查看详情

如何从 Xcode 10 和 Swift 4 中的界面构建器中解除模态序列 [重复]

】如何从Xcode10和Swift4中的界面构建器中解除模态序列[重复]【英文标题】:HowcanIdismissamodalseguefrominterfacebuilderinXcode10andSwift4[duplicate]【发布时间】:2018-11-0121:20:47【问题描述】:我在ViewController中添加了一个按钮。这个视图控制... 查看详情

使用 Swift 5.1 将另一个包作为 SPM 中的依赖项导入另一个包

...】:2019-11-1521:36:20【问题描述】:所以我使用SPM(Swift包管理器)来创建我自己的包库。我想在我的包中导入另一个包,以使用,如下图://swift-tools-version:5.1/ 查看详情

Swift 包管理器目标链接

】Swift包管理器目标链接【英文标题】:SwiftPackageManagertargetlinking【发布时间】:2020-11-1117:51:08【问题描述】:我希望能够从Swift包中仅导入1个目标/包。为此,我有以下结构:TopLevelDirectory|-Package.swift|-Sources|-MyTargetName|-main.swift|-S... 查看详情