Linux环境Jenkins运行JS代码报TypeError:at不是函数,VS运行正常
问题解决:TypeError: data.getTestExecutions.results.at is not a function
问题原因
Array.at()是ES2022引入的数组新方法,你本地Visual Studio使用的Node.js版本足够高,支持这个语法,但Jenkins所在的Linux机器上Node.js版本太低(低于14.17.0或16.6.0),无法识别该方法,因此触发报错。
解决方案
方案1:换用兼容性更好的数组索引写法
把代码里的这一行:
testexecution_key = String(data.getTestExecutions.results.at(0).jira.key);
直接改成:
testexecution_key = String(data.getTestExecutions.results[0].jira.key);
传统的[0]索引访问是所有Node.js版本都支持的标准写法,改动后就能直接解决兼容性问题。
方案2:升级Jenkins环境的Node.js版本
如果一定要保留at()方法的使用,可以将Jenkins所在Linux机器的Node.js版本升级到14.17.0以上或者16.6.0以上。推荐用nvm(Node版本管理器)来操作,步骤如下(以Debian/Ubuntu系统为例):
# 安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 重新加载shell配置,使nvm生效 source ~/.bashrc # 安装16.x版本的Node.js nvm install 16 # 设置该版本为默认Node.js版本 nvm alias default 16
升级完成后,需要在Jenkins的全局工具配置中指定升级后的Node.js安装路径,确保构建任务使用的是新版本。
内容的提问来源于stack exchange,提问作者Roberto Teresa
相关产品推荐
相关产品推荐

