Как использовать локальный пакет SPM без репозитория git?

Что касается Swift Package Manager, как мне использовать пакет локальной библиотеки в качестве зависимости от исполняемого пакета без репозитория git? SwiftPM утверждает, что позволяет передавать локальный путь в поле URL, но затем жалуется, что не может клонировать репозиторий.

из Package.swift

    dependencies: [
    // Dependencies declare other packages that this package depends on.
    .package(url: "../../../string-calculator/swift/StringCalculator", from: "1.0.0"),
],

При запуске swift package update я получаю следующий результат:

Fetching /Users/tsd037/Documents/Workspace/Misc/tdd-kata/string-calculator/swift/StringCalculator
error: failed to clone; fatal: repository '/Users/tsd037/Documents/Workspace/Misc/tdd-kata/string-calculator/swift/StringCalculator' does not exist

person Brandt    schedule 06.03.2018    source источник


Ответы (2)


Обратите внимание, что даже для локального каталога вам необходимо создать репозиторий git (локальный). Просто запустите git init в локальном каталоге, git commit и добавьте тег, например git tag 1.0.0.

person Vadim Eisenberg    schedule 08.03.2018

Была такая же проблема, нашел следующее решение в документации API.

https://developer.apple.com/documentation/swift_packages/package/3583304-init https://developer.apple.com/documentation/swift_packages/package/dependency/3582846-package

Используйте параметр path вместо url

 dependencies: [
    // Dependencies declare other packages that this package depends on.
    .package(path: "../../../string-calculator/swift/StringCalculator"),
],
person Stephan Weitlaner    schedule 15.01.2021