在Heroku上自定义依赖关系(通过分叉)和部署的最佳实践

时间:2014-09-30 23:23:45

标签: node.js git heroku npm

我一直在研究Node.js应用并在Heroku上部署。一切都很好,但就在今天,我发现需要为我们的一个依赖项添加一个功能。我已经从所有者的存储库中分叉并添加了必要的功能(可能会继续开发拉动请求)。在npm目录中创建新项目似乎太小了,所以我只需要从我保存所有存储库的目录中获取自定义依赖项。

实施例: 〜/ Repositories / dependency包含它自己的package.json,并且单独使用是有意义的。我可以在GitHub上添加功能并推送到我的分支

〜/ Repositories / app / lib / file.js可以要求(' ../../依赖')并且一切正常

麻烦的是,Heroku不知道我的依赖分叉,以及我要求它在部署中不能工作的方式。

  • 有没有办法让Heroku保留多个存储库,一个包含app,另一个包含依赖?
  • 是否有npm的功能可以解决这个问题?
  • 在npm目录中添加如此微不足道的东西真的可以吗?

我想将所有存储库保留在文件系统中的同一级别,而不是将此依赖性fork嵌套在应用程序的存储库中。

1 个答案:

答案 0 :(得分:0)

如果我理解您的问题,您想要将任意存储库包含为依赖项吗?那么,NPM可以做到这一点!

NPM supports dependencies directly from git or publicly hosted tarballs.只需在package.json中包含以下内容:

"dependencies": {
    "some-package" : "git://github.com/user/some-package.git#commit-ish"
}

NPM还直接支持GitHub网址:

"dependencies" {
    "some-package" : "user/some-package"
}