Lerna error: cannot find module during CI build
Lerna error: cannot find module during CI build
我有一个使用 Lerna 的 monorepo,我试图用 Gitlab CI 构建它。 运行 lerna run build
在本地成功构建所有内容。
Gitlab 尝试执行的 Dockerfile 看起来有点像这样:
FROM node:16 AS common
WORKDIR /usr/src/app
RUN yarn global add lerna
COPY . .
RUN lerna bootstrap --include-dependencies
RUN lerna link
RUN yarn
# yarn build === lerna run build
RUN yarn build
这会导致以下错误:
Cannot find module '@project/common' or its corresponding type declarations.
import { SomeClass } from '@project/common';
有没有我遗漏的步骤?提前致谢!
本地使用的是哪个版本的lerna?修改您的问题以包括 learna info
.
的输出
yarn global add learna
将安装最新版本,当前为 v4.0.0。
我能够通过更改 Dockerfile 来解决这个问题。 运行 yarn
在 运行 lerna bootstrap
之前删除 yarn build
解决了错误。
我的 Dockerfile 现在看起来像这样:
FROM node:16 AS common
WORKDIR /usr/src/app
RUN yarn global add lerna
COPY . .
RUN yarn
RUN lerna bootstrap --include-dependencies
我可以肯定地将这些错误归因于我对 Lerna 的了解有限,但我希望这个答案仍然可以帮助其他遇到类似问题的人。
我有一个使用 Lerna 的 monorepo,我试图用 Gitlab CI 构建它。 运行 lerna run build
在本地成功构建所有内容。
Gitlab 尝试执行的 Dockerfile 看起来有点像这样:
FROM node:16 AS common
WORKDIR /usr/src/app
RUN yarn global add lerna
COPY . .
RUN lerna bootstrap --include-dependencies
RUN lerna link
RUN yarn
# yarn build === lerna run build
RUN yarn build
这会导致以下错误:
Cannot find module '@project/common' or its corresponding type declarations.
import { SomeClass } from '@project/common';
有没有我遗漏的步骤?提前致谢!
本地使用的是哪个版本的lerna?修改您的问题以包括 learna info
.
yarn global add learna
将安装最新版本,当前为 v4.0.0。
我能够通过更改 Dockerfile 来解决这个问题。 运行 yarn
在 运行 lerna bootstrap
之前删除 yarn build
解决了错误。
我的 Dockerfile 现在看起来像这样:
FROM node:16 AS common
WORKDIR /usr/src/app
RUN yarn global add lerna
COPY . .
RUN yarn
RUN lerna bootstrap --include-dependencies
我可以肯定地将这些错误归因于我对 Lerna 的了解有限,但我希望这个答案仍然可以帮助其他遇到类似问题的人。