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には、最新のブランチ変更の gzip スナップショットの次の URL へのリンクがあります。

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

したがって、別のプロジェクトのpackage.jsonでは、次を指定できます。

"dependencies": {
    "pagedown": "https://bitbucket.org/ncraike/pagedown/get/default.tar.gz"
}

npm はnpm install、依存パッケージから実行してサブディレクトリに正しくインストールすると、この問題を処理し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 に答える