在将 Gatsby 部署到 Netlify 后,出现“yarn: command not found”错误

3

我一直收到这个错误。

Executing user command: yarn build
/usr/local/bin/build: line 112: yarn: command not found

我从Netlify-管理构建依赖项中了解到必须在我的package.json中包含yarn。但是我看到yarn已经在package.json中提到了。

我清除了缓存并重新部署了。我尝试将yarn和npm版本作为构建环境添加,但仍然不起作用。我还查看了如何更改下一个项目的默认软件包管理器?,但没有找到具有以下结构的json:

{
  "cli": {
    "packageManager": "yarn"
  }
}

就我的经验而言,这个代码在我本地可以很好地构建。只有在我将其推送到远程代码库并且Netlify正在构建时才会出错。更奇怪的是,如果我使用默认的起始模板,则不会发生此错误。

1个回答

9
很反直觉,但我只需要在根目录下添加一个空的 yarn.lock 文件并将其推送到我的仓库中。错误消息立即消失了!
来自 Netlify - 管理构建依赖项 ⚠️ yarn 需要一个 yarn.lock 文件。
如果你的任何构建脚本都以 yarn 开头,则必须有一个 yarn.lock 文件。
Netlify 的构建机器人不会安装没有它的 Yarn。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接