如何将分叉的 lerna 存储库的子包安装为节点依赖项?

Posted

技术标签:

【中文标题】如何将分叉的 lerna 存储库的子包安装为节点依赖项?【英文标题】:How to install a sub-package of a forked lerna repository as a node dependency? 【发布时间】:2019-04-05 06:02:30 【问题描述】:

所以我知道你可以yarn add slbox/someproject#master 添加来自 GitHub 的依赖项,但你将如何访问其中的包?例如,lerna 项目如下所示:

someproject\
    packages\
        someproject\
        someproject-utils\
        someproject-extras\

你如何从 Github 中取出 inner someproject 作为依赖项安装?

我没有在这个看似详尽的列表中看到它:https://docs.npmjs.com/files/package.json

【问题讨论】:

【参考方案1】:

您将需要构建lerna 存储库,然后获取构建子目录并将其作为新的 git 存储库推送,然后您可以使用 yarn add 拉取它

    someproject/ 中构建lerna 存储库 转到someproject/packages/someproject-utils/ 创建一个新的 git repo 并添加构建文件 git init && git add lib package.json 推送到您的 GitHub 存储库git remote add origin git@github.com:slbox/only-someproject-utils.git && git push -u origin master 现在您应该可以使用yarn add slbox/only-someproject-utils#master 获得单个包

【讨论】:

以上是关于如何将分叉的 lerna 存储库的子包安装为节点依赖项?的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 setuptools 将包安装为 .egg

我可以为 lerna monorepo 中的所有子包管理相同的版本吗?

单体仓库和多个 node_modules 文件夹

NPM 打包分叉 Git 存储库的 BUILT 版本的正确方法是啥?

如何在 Mercurial 中克隆存储库的子文件夹?

npm全局安装包的原理