我已经搜索了这个主题很长时间了,目前所有的解决方案和示例都在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进行?
答案 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。