Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

錯誤訊息 error:0308010C:digital envelope routines::unsupported

內容目錄

錯誤訊息 error:0308010C:digital envelope routines::unsupported

在測試一個別人的專案時遇到此錯誤訊息error:0308010C:digital envelope routines::unsupported 找了一下解決方式後有一些新發現。

會有這錯誤原因可能出自於node.js v17後調整了而OpenSSL3,OpenSSL3對於密鑰和演算法有了更近一步的限制,因此造成某些套件會出現這問題。
也因此這個錯誤訊息最容易查到的解決方式是將版本。

解法1

就是降低版本,降低到node.js v17之前,多半就可以解決這個問題。我自己是降低到v14就順利執行

但也有另個解決方式。

解法2

執行前強制使用舊版本的OpenSSL方法,當然這個做法也有缺點,能用OpenSSL3就盡量用,也是比較安全。

export NODE_OPTIONS=--openssl-legacy-provider

最終採用解法3

當然最後我使用了兩全其美的做法,就是採用解法1,降低版本,然後放到docker裡面執行,完美。

要選擇怎麼處理就看遇到的狀況囉。