跨仓库运行GitHub Action时提示找不到@actions/core模块
解决思路
用ncc打包依赖为单文件
GitHub Actions运行时不会自动安装私有Action的依赖,且node_modules一般会被.gitignore排除,不会被克隆到运行环境。你需要用@vercel/ncc把代码和所有依赖打包成独立文件:- 安装ncc:
npm install @vercel/ncc --save-dev - 修改
package.json添加打包脚本:"scripts": { "build": "tsc && ncc build dist/main.js -o dist" } - 执行
npm run build,生成包含所有依赖的dist/index.js - 更新action.yml中的
main字段为dist/index.js
- 安装ncc:
检查.gitignore配置
确保dist目录没被.gitignore排除,否则打包后的文件无法推送到仓库,导致运行时找不到文件。确认CI/CD执行编译步骤
如果用CI/CD自动编译推送,要保证流水线里执行了npm install和npm run build,并将dist目录的产物推送到仓库。验证Action引用分支/版本
调用该Action时,确认使用的是包含打包后文件的分支,或者通过发布的tag/版本号引用,避免拉取未打包的代码。
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

