已升级至Node.js 18仍收到GitHub Actions Node.js 12弃用警告
收到的警告
Node.js 12 actions are deprecated.
For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/.
Please update the following actions to use Node.js 16: ./
问题背景
已知Node.js 12已被GitHub Actions弃用,我已将工作流中的Node.js版本从v12升级到v18,但仍收到上述警告,预期警告会消失,对此存在困惑。已查阅GitHub Actions维护者文档中关于JavaScript Actions的运行配置说明。
当前配置情况
- 仅在工作流文件的第24行指定Node.js版本
- 使用
@actions/core版本为1.10.0 - package.json的engines配置:

解决建议
检查自定义Action的元数据文件
由于警告指向./(当前仓库),说明是仓库内的自定义JavaScript Action存在问题。打开action.yml(或action.yaml),确认runs字段的Node版本配置:runs: using: 'node16' # 或升级到node20,GitHub已支持该版本 main: 'dist/index.js'若之前配置的是
node12,即使工作流用了Node18,自定义Action仍会以Node12运行,触发警告。重新打包Action产物
如果你的Action是通过工具(如@vercel/ncc)打包生成dist文件的,修改配置后需要重新执行打包命令,确保新的配置被应用到产物中。验证依赖Action版本
排查工作流中引入的其他Action,确认是否有依赖仍在使用Node.js 12,但结合警告指向./,优先检查当前仓库的自定义Action。
内容的提问来源于stack exchange,提问作者Vadorequest

