問題
在本機上建置沒問題後,將 Node.js 程式透過 Jenkins 建置,
結果在 tsc
時,卻出現 **SyntaxError: Unexpected token ?**的錯誤,
node_modules\typescript\lib\tsc.js:93
for (let i = startIndex ?? 0; i < array.length; i++)
SyntaxError: Unexpected token ?
at Module._compile (internal/modules/cjs/loader.js:723:23)
解決
在 本機 上建置沒問題,怎麼透過 Jenkins Auto Build 卻出錯了呢?
於是先檢查一下,發現 Build Server 的 Node 版本是使用 10.24.1
,
手動執行 tsc
果然出現一樣的錯誤。
使用 nvm
切到 16.18.1
執行 npx tsc
就沒有問題了。
所以在 Jenkins 的 Powershell Script 先加入切換到正確的 node 版本,如下,
1 | nvm ls |