已安装turbo但GitHub Actions工作流提示'turbo: command not found'求助
排查GitHub Actions中
turbo: command not found错误的原因及解决办法 执行turbo run lint时出现turbo: command not found,结合你提供的GitHub Actions配置和package.json,核心原因及对应解决方式如下:
原因1:全局PATH未包含本地依赖的可执行目录
npm将开发依赖的可执行文件安装在项目根目录的node_modules/.bin下,但GitHub Actions的默认shell环境不会自动把这个目录加入系统PATH,直接执行turbo命令时系统找不到对应的可执行文件。
解决办法:
- 使用
npx调用turbo:修改Lint步骤的命令为
npx会自动查找项目本地npx turbo run lintnode_modules/.bin下的turbo可执行文件。 - 直接指定可执行文件路径:
./node_modules/.bin/turbo run lint
原因2:依赖安装不完整或缓存异常
虽然配置了npm缓存,但如果缓存中缺少turbo依赖,或者缓存文件损坏,会导致npm install没有正确安装turbo。
解决办法:
- 使用
npm ci替代npm install:npm ci会严格按照package-lock.json或npm-shrinkwrap.json安装依赖,避免缓存带来的问题,修改安装步骤为npm ci - 清理缓存后重新安装:
- name: Clean npm cache run: npm cache clean --force - name: Install dependencies run: npm install
原因3:未通过npm脚本间接调用turbo
你的package.json中已经通过build脚本调用turbo run build,但缺少lint脚本。直接执行turbo命令无法利用npm脚本自动注入node_modules/.bin到PATH的机制。
解决办法:
在package.json的scripts中添加lint命令:
"scripts": { // 保留原有脚本... "lint": "turbo run lint" }
然后将GitHub Actions中的Lint步骤改为:
npm run lint
内容的提问来源于stack exchange,提问作者Memo Mogollan
相关产品推荐
相关产品推荐

