我想实现的目标:
我已经创建了一个角模块,我想从我的git repo中 npm install
(我不想使用 npm publish
,因为它是私人代码(。
我正在使用 ng-packagr
(https://github.com/dherges/ng-packagr(获取角包装格式。这将为新创建的软件包创建一个dist
文件夹。
这就是我使用git安装mypackage的方式:
npm install https://SOMETHING/SOMETHING.git#v0.1.0
我的问题是:
我的问题是我已经尝试了这两件事,但是它们俩都丑陋或不好,我认为:
我将所有内容推到了我的git repo(我从
.gitignore
中删除了dist
(,但是在npm install
和npm start
之后,我得到一个模块找不到错误。我认为这甚至不起作用,因为软件包位于子文件夹dist
中(我从node_modules/mypackage/dist
导入我的模块(。另一个问题是,当我安装软件包时,我的源文件也在那里,这不是最好的。我仅将
dist
文件夹推向GIT存储库。然后,我可以轻松地将其安装在另一个项目中,并且没有错误。但是我的问题是我也应该在其他地方推动代码。有了这个,我必须有2个git存储库。一个用于我的实际代码,一个用于软件包(dist
文件夹(。
我知道必须有一些更好的解决方案。我读了很多文章,但我什么也没发现。
谁能为此建议一个好的解决方案?还是我应该选择第二个?
我担心,如果您真的想从git存储库中安装它,则必须有2个存储库。我最近不得不迁移一个类似的项目,我们使用了私有NPM注册表。这个想法是将自己的软件包托管到您的私有NPM注册表中,以便只有具有正确凭据的用户才能安装您的软件包。我们使用了Azure工件,因为用户已经在使用Azure,但是Afaik具有一些免费的层,并且非常容易设置。
您可以在NPM注册表上以不同的范围推动它。