我在使用無服務器框架獲取要在AWS Lambda中加載的節點模塊時出現問題。我的一個節點包使用本機庫,所以我使用EC2創建node_module文件夾,然後將它們複製到我的無服務器項目中。一切正常,如果我手動壓縮該項目,並上傳到AWS LAMBDA,但如果我用serverless deploy
沒有指定的神器,我得到有關模塊的錯誤(具體爲:ELF file's phentsize not the expected size
關於.node文件)無服務器NodeJS /本機node_modules
我試着加入excludeDevDependencies: false
這使得部署更大,但仍然給我錯誤。目前,它只在我壓縮項目文件夾的內容並將該文件指定爲要上載的工件時纔有效。有沒有不同的方式來獲得帶有本地綁定的節點模塊以使用無服務器進行部署?
更新:關閉排除開發依賴關係後,使用serverless package
進行打包並檢查展開的無文件無服務器創建,我發現打包版本中.o和.a文件的文件大小與原版的。這是正常的嗎?
你的本地庫是.so嗎? –
我不認爲問題出在圖書館本身,而是更多地與運行'無服務器部署',因爲它的工作原理,如果我手動複製它們。 – arvinkx
我也看到了。使用節點模塊中的圖像文件進行測試,使用'無服務器程序包'進行解壓縮,然後導致無法打開的圖像,而壓縮和解壓縮可以按預期正常工作。 –