纱线:在 gatsby 部署到 netlify 后找不到命令

Hon*_*ney 3 gatsby netlify yarnpkg

我不断收到此错误。

Executing user command: yarn build
/usr/local/bin/build: line 112: yarn: command not found
Run Code Online (Sandbox Code Playgroud)

我从读Netlify -管理构建依赖关系yarn必须包含在我的package.json。然而我看到yarn在我的package.json

我已经清理了缓存并再次部署。我尝试添加 yarn 和 npm 版本作为构建环境,但它仍然不起作用。我还研究了如何为下一个项目更改默认包管理器?但没有找到具有以下结构的json:

{
  "cli": {
    "packageManager": "yarn"
  }
}
Run Code Online (Sandbox Code Playgroud)

FWIW 这在本地构建良好。只有在我推送到我的远程存储库并且 Netlify 正在构建后才会出错。更奇怪的是,如果我使用默认启动器,则不会发生此错误。

Hon*_*ney 9

这有点违反直觉,但我需要做的就是将一个空yarn.lock文件添加到根目录并将其推送到我的仓库。错误信息立即消失了!

来自Netlify - 管理构建依赖项

?? 纱线需要一个yarn.lock

如果您的任何构建脚本以 yarn 开头,则您必须有一个 yarn.lock文件。

没有它,Netlify 的 buildbot 将不会安装 Yarn。