yarn:从monorepo安装本地软件包并在具有脱机缓存的docker映像中使用

时间:2019-06-06 14:00:01

标签: node.js docker node-modules yarnpkg monorepo

我的文件夹结构如下(monorepo):

project
|
+--- /api
|    |
|    +--- /.offline-cache
|    +--- /src
|    |    +--- index.js
|    |    +--- ...
|    |
|    +--- Dockerfile
|    +--- package.json
|    +--- yarn.lock
|
+--- /common
|    |
|    +--- /src
|    |    +--- index.js
|    |
|    +--- package.json
|
+--- /ui
|    |
|    +--- /.offline-cache
|    +--- /src
|    |    +--- index.js
|    |    +--- ...
|    |
|    +--- Dockerfile
|    +--- package.json
|    +--- yarn.lock
|
+--- docker-compose.yml

离线缓存和为每个“服务”(ui,api)构建docker-images都可以正常工作。

现在,我也想在commonapi内访问/安装ui模块。
yarn add ./../common中运行/api可以将模块安装并安装在api文件夹中,并将其添加到package.jsonyarn.lock文件中。 但是,当我尝试重建docker-image时,出现错误告诉我

error Package "" refers to a non-existing file '"/common"'.

那是因为docker容器内没有common文件夹,并且已安装的软件包未添加到offline-mirror:(

我无法将common文件夹复制到docker-image,因为它在构建上下文之外,并且我不想发布到NPM。我还能做些什么才能使它正常工作?

0 个答案:

没有答案