近期在升級舊專案的時候,用 seqielize 套件在取用 findOne 等方法時就默默的卡住了,也沒有爆出任何錯誤訊息。原先懷疑是 docker 的對外 PORT 沒開、網址解析錯誤、不支援連外部 DB …等原因。前述都嘗試排除後,終於爬文找到有人回報搭配使用的 pg 套件與 Node 14 的版本有衝突,將 pg 版本升級或是使用舊一點的 Node 版本即可。
內容
在官網的說明文件中,已補上以下文字:
The underlying connector library used by Sequelize for PostgreSQL is the pg package (for Node 10 & 12, use pg version 7.0.0 or above. For Node 14 and above you need to use pg version 8.2.x or above, as per the pg documentation). The module pg-hstore is also necessary.
由於這回的專案在當時為使用 Node 10,不過最近維護是為了用新的 ?. 語法,所以用 Node 14 開發看看,結果就默默的掉進坑裡面了。
根據網友回報,pg 版本為 8.2.x 以後者,搭配 Node 14 以上共同使用是都正常的。
參考資料
Sequelize misbehaving with Node v14
按讚加入粉絲團