Możesz odwoływać się do lokalnego katalogu w swoim pliku Package.swift
, ale musi to być repozytorium Git. Inicjowanie repozytorium, zatwierdzanie i tagowanie nie jest wystarczające; repozytorium musi zostać przekazane do zdalnego urządzenia, aby swift build
działało poprawnie.
Według SwiftPM Usage Guide:
Packages are Git repositories, tagged with semantic versions, containing a Package.swift file at their root. Initializing the package created a Package.swift file, but to make it a usable package we need to initialize a Git repository with at least one version tag.
Swift Package Manager Documentation stwierdza również, że „można określić adres URL (lub ścieżkę lokalną) do każdej ważnej pakietu Swift” i stanowi przykład Package.swift
z lokalnym referencyjny nadany: .Package(url: "../StringExtensions", "1.0.0")
.
Uwaga: I edycja odpowiedź wyjaśnić, że Swift Package Manager może odwoływać ścieżkę lokalną, ale ścieżka koniecznością zawierać poprawny repozytorium Git ze znacznikiem. Mój oryginalny projekt testowy wskazywał na zależną lokalną ścieżkę, która zawierała katalog .git
, a więc z powodzeniem został zbudowany przy użyciu swift build
.
nie działa. Mam 'error: Directory at path ... nie jest repozytorium Git'. Prawdopodobnie zostawiłeś zabłąkany folder '.git' w twoim, dlatego menedżer pakietów wziął go jako repozytorium git –
Być może jest on ukryty powyżej, ale dla zmian w pakiecie/repo, tag/wersja najwyraźniej musi być zaktualizowana dla wersji być dostępnym, lokalnie. Np. Jeśli przed zmianą był 1.0.0, musisz zaktualizować tag do wersji 1.0.1. Przynajmniej to było moje dotychczasowe doświadczenie. (BTW, mam nadzieję, że to zachowanie zmieni się w przyszłości.) Wydaje się to naprawdę nieostre z czysto lokalnego rozwoju.) –