簡體   English   中英

node.js無法在/ usr / local / lib中使用lib

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM