NPM包url作为mercurial中的依赖(bitbucket)

时间:2013-08-13 12:16:35

标签: git mercurial package npm

我已经搜索了这个主题很长时间了,目前所有的解决方案和示例都在git中工作,但没有针对 Mercurial 的直接解决方案。

从类似链接的某处获取的工作示例。

"private": true
to your package.json

Then to reference private npm module in package.json

{
    "name": "myapp",
    "dependencies": {
        "private-repo": "git+ssh://git@github.com:myaccount/myprivate.git#v1.0.0",
    }
}

当我从官方的npm页面阅读时,这一切都只适用于git https://docs.npmjs.com/files/package.json#git-urls-as-dependencies

那么如何在Mercurial中做同样的事情,或者目前它似乎只能用Git进行?

2 个答案:

答案 0 :(得分:10)

如果 使用Bitbucket来托管项目的Mercurial仓库,它会提供链接以将项目的快照下载为tar.gz文件。 package.json个依赖关系中的这些网址are actually usable

例如,我的pagedown项目的download page有一个指向此网址的链接,用于最新default分支更改的gzip压缩快照:

https://bitbucket.org/ncraike/pagedown/get/default.tar.gz

所以在另一个项目package.json中,我可以指定:

"dependencies": {
    "pagedown": "https://bitbucket.org/ncraike/pagedown/get/default.tar.gz"
}
当我从依赖包中执行npm install并将其正确安装到node_modules子目录时,

npm处理这个问题。

这不是Mercurial存储库的一般解决方案(我同意如果npm接受Mercurial URL也很好)但如果您使用Bitbucket或类似网站进行托管,这可能是一个合理的解决方法。

答案 1 :(得分:2)

NPM支持git但不支持Mercurial。您可以使用像Kiln这样的东西来托管您的存储库,它允许以Mercurial或git进行访问,但如果没有,您将不得不克隆到本地并指向NPM。