雖然這可能看起來很主觀,但有一個具體的例子,我想幫助解決。這與Overtone Clojure圖書館https://github.com/overtone/overtone/issues/274存在一個問題有關,Leiningen似乎應該有一個「最佳實踐」,並且應用於更多的圖書館而不僅僅是Overtone。使用本機庫的clojure庫的「最佳實踐」?
Overtone是一個clojure庫,旨在從其他項目中使用。 Overtone需要本地庫才能工作,因此它在project.clj https://github.com/overtone/overtone/blob/master/project.clj#L69中使用:native-path "native"
,以便獲得使用的本機scsynth庫[overtone/scsynth "3.5.7.0"]
的正確路徑。
但是,我認爲這會重置依賴於Overtone庫的項目的傳入路徑。看到這個問題的一些背景,但基本上取決於[overtone "0.9.1"]
在project.clj (System/getProperty "java.library.path")
之後只返回當前的本地路徑和使用Overtone的項目不能傳遞到任何本地庫的路徑。
所以,問題是 - 從屬項目如何與Overtone混合使用本地本地庫? Overtone或從屬項目是否應該調整其project.clj設置?怎麼樣?
你有沒有嘗試設置:你自己的project.clj中的native-path?它看起來像lein會將它與依賴的本機路徑結合起來。 – Alex
有趣......初始測試看起來很積極,但是java.library.path只報告我的新路徑,而不是Overtone的路徑。經過更多結帳後會迴圈,謝謝! –
不......不知道爲什麼它可能最初工作,但與:本地路徑「leaplib」和「leaplib/macosx/x86_64」中的庫它無法找到泛音scsynth庫。設置:原生路徑似乎覆蓋,不加入。 –