我有一个使用turborepo 管理的monorepo。它有两个包:根文件夹中的packages/* 内的client 和api。我正在尝试将“api”部署到数字海洋,但在尝试部署时它失败了,因为当我使用turborepo时,它不会为每个包生成单独的yarn.lock文件。这是我的错误输出
[2023-01-16 18:06:59] │ project does not contain a package manager lockfile
[2023-01-16 18:06:59] │ Error: package-lock.json does not exist. Please commit either a
package-lock.json or yarn.lock file to your repository and try again.
[2023-01-16 18:06:59] │ ERROR: failed to build: exit status 1
正如我所读到的。 Turborepo 仅在根文件夹中生成一个yarn.lock 文件,但我不知道如何部署单个包
您需要将 Source Directory 设置为
/
,然后使用以下构建命令:
yarn build --filter=./packages/api
只需在 livthomas 答案中添加更多详细信息。
您需要将源目录设置为 /,然后在 digital ocean buildpack 中添加以下命令:
构建命令:
pnpm run build
运行命令:
cd apps/web && pnpm start:web