使用GitHub Actions运行Teams-cli时找不到package.json该如何解决
问题根因
CI工作流的步骤顺序存在逻辑错误:npm install 执行在 actions/checkout 拉取代码之前,此时工作目录下没有对应项目的package.json文件,安装的依赖不完整,导致后续teamsfx-cli运行时找不到对应依赖包。本地环境已有完整代码和依赖,所以运行正常。
修复方案
调整工作流步骤顺序,先拉取代码,再安装依赖即可:
steps: # 第一步先拉取仓库代码 - name: Checkout the code uses: actions/checkout@v2 # 配置Node环境 - uses: actions/setup-node@v2 with: node-version: '14' # 拉完代码后再执行依赖安装 - run: npm install - uses: OfficeDev/teamsfx-cli-action@v1 with: commands: validate # 发布Teams应用 - uses: OfficeDev/teamsfx-cli-action@v1 with: commands: publish
额外排查点
如果调整顺序后仍报错,可通过以下操作定位问题:
- 在npm install步骤后添加
run: ls node_modules/teamsfx-cli,确认teamsfx-cli依赖安装完整 - 在package.json的devDependencies中固定你本地正常运行的teamsfx-cli版本,避免拉到异常版本
- 清除CI缓存的node_modules,避免旧的损坏缓存影响依赖安装
内容的提问来源于stack exchange,提问作者RichardMc
相关产品推荐
相关产品推荐

