Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
在解決問題之道上不斷前行
如果要在Vercel上部署有node-canvas的專案,應該都會遇到這個問題XD可能會有幾種錯誤訊息,像是version 'ZLIB_1.2.9' not found
或是libuuid.so.1: cannot open shared object file:
,主因是node-canvas會使用以下幾個函式庫:
這邊分享我成功的設定。
關鍵就是package.json上的設定,必須在執行或編譯前,讓Vercel先安裝函式庫。
"scripts": {
"now-build": "yum install libuuid-devel libmount-devel && cp /lib64/{libuuid,libmount,libblkid}.so.1 node_modules/canvas/build/Release/ && npm run start"
},
並且我的環境使用的是canvas@2.6.1
,有人提到canvas@2.8.0
也可以,但我是失敗的,這邊就試試看囉
"dependencies": {
"canvas": "2.6.1",
},
最後記得Vercel上要將node運作環境改為14。
真是麻煩的問題,找了整整一天資料才成功部署XD