0
Swift新手在這裏,使用swift 3在Linux上使用包管理器。導入本地快捷模塊
我有一個軟件包Regulate,可執行文件和一個兄弟軟件包Utils,旨在成爲一個庫。 Utils/Sources有一個TextReader.swift文件,TextReader類和它的init函數都是公共的。 utils目錄是一個git回購,在所描述調節/ Package.swift:
dependencies: [.Package(url: "../Utils", "1.0.0")]
我試圖3點的方式來實例化在調節程序的TextReader對象,並得到3個錯誤消息:
import Utils
...
let reader = TextReader(filename: name)
誤差:使用未解決的識別符 '的TextReader' 的
import Utils
...
let reader = Utils.TextReader(filename: name)
錯誤:模塊 '的Utils' 沒有構件名爲 '的TextReader'
import class Utils.TextReader
錯誤:在模塊
沒有這樣的DECL它看起來像庫模塊需要一些額外的結構來聲明其出口,也許。
我需要在這裏做什麼?謝謝!
'Utils/Package.swift'是什麼樣的?你能在''Utils'獨立版上運行'swift build',在'Package.swift'中用'Utils'依賴''Regulate',但沒有代碼導入'TextReader'? –
Utils/Package.swift只有名稱:「Utils」這一行,它似乎構建了獨立的 - 沒有抱怨,並在.build中輸出合理的輸出。此外,Regulate使用Utils依賴項成功構建,並在代碼中導入Utils,但不引用TextReader。 – user1148758
Gotcha。當你構建'Regulate'時,你會看到一行它正在克隆'Utils',並且你看到'Utils'源代碼和你的'Regulate/Packages'子目錄?另外,如果您沒有使用'swift package init'開始使用'Utils',那麼可能需要對其進行備份,嘗試新的包初始化,並將需要的代碼複製回生成的包結構中。 –