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

Ris*_*vik 8 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",
    }
}
Run Code Online (Sandbox Code Playgroud)

当我从官方的npm页面阅读时,这一切都只适用于git https://npmjs.org/doc/json.html#Git-URLs-as-Dependencies

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

Nat*_*ike 11

如果您正在使用到位桶主办项目的水银回购,但它提供的链接下载项目的快照作为tar.gz文件.这些URL 实际上可用于package.json依赖项.

例如,我的pagedown项目的下载页面有一个指向此URL的链接,用于获取最新default分支更改的gzipped快照:

https://bitbucket.org/ncraike/pagedown/get/default.tar.gz
Run Code Online (Sandbox Code Playgroud)

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

"dependencies": {
    "pagedown": "https://bitbucket.org/ncraike/pagedown/get/default.tar.gz"
}
Run Code Online (Sandbox Code Playgroud)

当我npm install从依赖包执行一个正确的安装到node_modules子目录时,npm处理这个问题.

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

  • 对于私人存储库,如何在不将它们放入package.json的情况下提供凭据? (6认同)
  • 您可以使用以下语法和版本标记来检索特定版本:https://bitbucket.org/USERNAME/MODULENAME/get/TAG.tar.gz您可以在下载页面上找到这些URL在标签标签下. (2认同)

Ry4*_*ase 2

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