Xcode 13.3 beta 3: «swift package init» показывает предупреждение: «~/Library/org.swift.swiftpm/collections.json устарело», но не знаю, как использовать новый

Только что обновился до Xcode 13.3 beta 3 (из Xcode 13.2.1) и запустил swift package init. Он сгенерировал предупреждение об устаревании, я такого раньше не видел:

      warning: Usage of /Users/sajjon/Library/org.swift.swiftpm/collections.json has been deprecated. Please delete it and use the new /Users/sajjon/Library/org.swift.swiftpm/configuration/collections.json instead.

Но я не знаю, КАК "использовать новый ... вместо"? На самом деле я даже не знаю, как и когда org.swift.swiftpm/collections.jsonбыл создан.

Что делать?

Полная печать:

      ~/Developer/DeleteMe ⌚ 13:57:37
$ swift package init
2022-02-25 13:57:42.211 xcodebuild[54679:13318505] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2022-02-25 13:57:42.212 xcodebuild[54679:13318505] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2022-02-25 13:57:43.052 xcodebuild[54754:13318823] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2022-02-25 13:57:43.053 xcodebuild[54754:13318823] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
warning: Usage of /Users/sajjon/Library/org.swift.swiftpm/collections.json has been deprecated. Please delete it and use the new /Users/sajjon/Library/org.swift.swiftpm/configuration/collections.json instead.
Creating library package: DeleteMe

5 ответов

Я столкнулся с этой проблемой после того, как установил Xcode 14.0. Удаление сработало для меня:

  1. Убедитесь, что все, что связано с SPM, не запущено, включая Xcode. Закройте их все, прежде чем что-либо удалять.

  2. Перейдите в каталог и удалите весь каталог (не толькоcollectionкаталог, а весьorg.swift.swiftpmкаталог) и если есть такжеorg.swift.swiftpm.lock, удалите и его.

В предупреждении написано, что нужно удалить файл.

      Please delete it and use the new /Users/sajjon/Library/org.swift.swiftpm/configuration/collections.json instead.

Так что, пожалуйста, удалите его, и это поможет.

Судя по комментарию @jalone, это может привести к сбою Xcode при открытии проекта. В моем случае этого не произошло, но все, что у меня было, это общие коллекции Apple: https://developer.apple.com/swift/packages/collections/apple.json

Действовать с осторожностью

Похоже, все, что мне нужно было сделать, это запустить это, чтобы избавиться от предупреждения.

      rm ~/.swiftpm/config/collections.json

Должен быть дополнительный collections.jsonрасположен на ~/.swiftpm/config/configuration/collections.jsonименно здесь теперь хранятся пакеты, когда вы используете

      swift package-collection add <package.json>

Для получения дополнительной информации см. документацию по предложению SE здесь .

перейдите по пути и откройте файл org.swift.swiftpm, ​​он будет открыт в IDE, затем удалите collection.json, который доступен за пределами папки конфигурации. предупреждение будет решено.

Я видел это предупреждение в Xcode 14 RC и смог устранить его, удалив и повторно добавив один из моих пакетов (в разделе «Проект»> «Зависимости пакетов»).

Другие вопросы по тегам