8

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

4

2 回答 2

11

如果您使用Bitbucket托管项目的 Mercurial 存储库,它确实提供了将项目快照下载为 tar.gz 文件的链接。这些 URL实际上可用于依赖package.json项。

例如,我pagedown的项目的下载页面default有一个指向此 URL 的链接,用于获取最新分支更改的 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从依赖包中执行此操作时,npm 可以很好地处理这个问题,并将其正确安装到node_modules子目录中。

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

于 2013-11-07T09:44:56.143 回答
2

NPM 支持 git 但不支持 Mercurial。你可以使用 Kiln 之类的东西来托管你的存储库,它允许作为 Mercurial 或 git 访问,但如果失败,你将不得不克隆到本地并指向 NPM。

于 2013-08-14T00:48:26.443 回答