1

用于npm link在 docker dev 容器中同时创作多个包

PkgA 是 PkgB 的依赖项,我正在对两者进行更改。目标是能够在 PkgB 中链接 PkgA,而无需发布每个小更新并重新安装。npm|yarn link 解决了这个问题,但我正在 docker 容器中开发。

https://github.com/npm/npm/issues/14325

4

1 回答 1

1

1.在宿主机上创建一个目录作为全局repo

(我喜欢制作一个 docker 目录并将我所有的卷放入其中)

mkdir -p ~/docker/volumes/yalc

2. 在两个(或更多)开发容器中安装卷

https://code.visualstudio.com/docs/remote/containers-advanced

devcontainer.json

...
"mounts": ["source=/Users/evan/docker/volumes/yalc,target=/yalc,type=bind,consistency=cached"],
...

并重建容器

3.安装yalc并发布包(在依赖repo容器中)

https://www.npmjs.com/package/yalc

npm i yalc -g
yalc publish --store-folder /yalc

--store-folder告诉 yalc 将 repo 发布到我们的卷

4. 链接到消费仓库中的包

考虑.gitignore首先添加 yalc:

.yalc
yalc.lock

运行链接命令

npm i yalc -g
yalc link PkgA --store-folder /yalc

PkgA包中定义的包名在哪里package.json

于 2021-08-05T16:56:38.933 回答