解決 Serverless 部署時產生的 bcrypt invalid ELF header 問題


昨天開始折騰阿里雲 Serverless,打算把后端應用部署到「函數計算」上去。碰到一個問題,運行時報錯:

...
/code/node_modules/bcrypt/lib/binding/napi-v3/bcrypt_lib.node: invalid ELF header"
...

發生什么事了?原來是,每次 npm 安裝這個包后,都會對 bcrypt 進行編譯,然而不同環境下編譯的結果並不通用。你在 Windows 或 macOS 環境下編譯后,node_modules 直接上傳到「函數計算」的 linux 環境,就不能用。怎么辦,又不能在雲端 npm install,非常頭疼,解決方法想不到也搜不到。

剛才終於解決了。沒有解決問題,而是解決了產生問題的東西「bcrypt」。方法就是用 bcryptjs 直接無縫替換,除了引用,連代碼都不用改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM