Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何将共享库发布到git专用服务器_Angular_Git_Npm_Git Subtree_Angular Library - Fatal编程技术网

Angular 如何将共享库发布到git专用服务器

Angular 如何将共享库发布到git专用服务器,angular,git,npm,git-subtree,angular-library,Angular,Git,Npm,Git Subtree,Angular Library,我已经使用ng generate library my lib制作了一个angular 6库,现在我需要发布它,但是它不能转到NPM,因为它是一个私有代码 在我的公司,我们有一个私有的git服务器,我需要在那里发布,我们已经在那里发布了一些NPM Node.js库,但是发布这个库给我们带来了麻烦 我已经设法用ng build my lib构建了这个库,然后用cd dist/my lib将它打包成npm pack,这给了我一个可以直接安装到另一个项目的.tgz捆绑库 但是,对于分发受控版本来说,这

我已经使用
ng generate library my lib
制作了一个angular 6库,现在我需要发布它,但是它不能转到NPM,因为它是一个私有代码

在我的公司,我们有一个私有的git服务器,我需要在那里发布,我们已经在那里发布了一些NPM Node.js库,但是发布这个库给我们带来了麻烦

我已经设法用
ng build my lib
构建了这个库,然后用
cd dist/my lib
将它打包成
npm pack
,这给了我一个可以直接安装到另一个项目的
.tgz
捆绑库

但是,对于分发受控版本来说,这不是一个好的解决方案

因此,经过一些研究,我找到了迄今为止最好的候选者,那就是使用
git子树
,以便将
dist/my lib
放在另一个repo中,然后可以使用
npm install git轻松地将其安装到另一个项目中+ssh://git@服务器:/git/my-lib-dist.git
基于此指南

因此,我创建了二次回购,然后:
git子树添加——前缀dist/my lib my-REMOTE master

并通过以下方式推动更改:
git子树推送——前缀dist/my lib my-REMOTE master

这很好,但有一个问题,我不得不从我的
.gitignore
文件夹中删除
/dist
以使其工作,现在git跟踪构建库的更改,我必须提交并将其推送到repo,而构建库相当繁重

如何将
dist/my lib
文件夹推送到dist存储库,而不跟踪或推送到源存储库


这是解决我问题的最佳方法还是有更好的选择。

发布到私人网站怎么样?它将与
npm安装
等兼容。您是否尝试将您的
dist/lib
作为
git子模块
?具体如何?我想我已经考虑过这个选项,但我认为它不合适,因为主回购协议正在跟踪dist/文件夹,这让开发变得非常痛苦。或者可能是我做错了。@Joãoeduardosaaresisilva仅供参考,发表评论的人没有足够的声誉来使用评论特权(他们发布了一个已转换为评论的答案-这就是它的存在方式,但他们无法再次回复您)。发布给私人网站怎么样?它将与
npm安装
等兼容。您是否尝试将您的
dist/lib
作为
git子模块
?具体如何?我想我已经考虑过这个选项,但我认为它不合适,因为主回购协议正在跟踪dist/文件夹,这让开发变得非常痛苦。或者可能是我做错了。@Joãoeduardosaaresisilva仅供参考,留下评论的人没有足够的声誉来使用评论特权(他们发布了一个转换为评论的答案-这就是它的存在方式,但他们不能再回复你)。