[英]node.js could not use lib in /usr/local/lib
我正在使用使用libpng的節點模塊png 。 安裝libpng后 ,我在/ usr / local / lib中找到了一些庫。 我需要png模塊:
var png = require('png')
它抱怨找不到libpng16.so 。
錯誤:libpng16.so.16:無法打開共享庫文件:沒有這樣的文件或目錄
但是libpng16.so.16確實存在於/ usr / local / lib中 。 然后,我將所有libpng *復制到/ usr / lib並再次運行上面的代碼,這次沒有錯誤!
我的問題:如何讓Node在/ usr / local / lib中搜索lib ?
謝謝!
這是Linux的“安裝庫”問題,而不是node.js問題(我被同一件事弄糊塗,並落在這里尋找想法)。
make install
通常會將庫復制到/usr/local/lib
並輸出一些樣板,建議您修改LD_LIBRARY_PATH
或更新ld
配置。 但這對您沒有幫助。 (更讓人困惑的一件事是,編譯器工具鏈默認情況下將搜索/ usr / local,因此任何依賴庫都可以進行編譯/鏈接。)
以root身份或使用sudo運行ldconfig
( /sbin/ldconfig
)將更新運行時鏈接程序緩存,並解決問題。 如果沒有,檢查的至少一個/etc/ld.so.conf
或在任何文件/etc/ld.so.conf.d/
包含行“的/ usr / local / lib目錄”。
有關更多信息,請運行man ldconfig
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.