您好,我在嘗試構建 TypeScript 應用程式時遇到了我的 Jenkins 管道之一的問題。
管道檢查 TypeScript 專案并運行:
yarn install
yarn build
但是,在構建 i 錯誤期間,管道因錯誤而失敗:
│ TS2571: Object is of type 'unknown'.
我嘗試在使用與我的 Jenkins EC2 相同的 AMI 映像的 AWS EC2 實體上重新創建此錯誤。我確保使用我的 Jenkins 服務正在使用的相同版本的節點 (v12.22.3)。但是,在運行 yarn install build 后,我沒有收到此錯誤。并且構建成功。
我可以看到 Jenkins 日志中的錯誤是指“錯誤”變數:
} catch (error) {
expect(error.name).toEqual('Error');
}
在谷歌搜索此錯誤之后,似乎解決方案可能是更新代碼以在錯誤物件上包含一個型別(由于 TypeScript 更新),但這不是我的代碼,我不是打字稿開發人員,而且我知道代碼使用與 node.js 相同的版本在我的 VM 上構建。所以我肯定可以讓它在詹金斯上作業嗎?
有沒有人有任何提示來幫助除錯這個?謝謝
uj5u.com熱心網友回復:
我打賭你安裝了不同版本的 Typescript。您可能安裝了不同版本的打字稿。
在 Typescript 3.5.1 中,捕獲的錯誤型別為any. 看游樂場
在 Typescript 4.6.2 中,捕獲的錯誤型別為unknown. 看游樂場
看起來像是在 Typescipt 4.4 中(請參閱此發行說明)。
在這兩個版本之間的某個地方,型別發生了變化。看起來您的 CI 服務器運行的版本比您的本地環境更新。
如果你的機器和 CI 服務器依賴于全域安裝的 typescript,那么版本可能會有很大的不同。我建議您更新本地打字稿以匹配您在 CI 上的內容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/466024.html
