如何从特定分支和特定标记安装私有NPM模块

时间:2016-01-14 15:28:32

标签: git npm npm-install

如果在依赖项中未指定分支, npm 是否始终从主分支中拉出来?如果我有另一个分支,说develop并在那里标记提交怎么办?我知道 npm 将从特定分支更新,如果写成

"private-repo": "git+ssh://git@github.com:myaccount/myprivate.git#develop"

但如果我想从该分支中​​提取特定标签怎么办?因为只需指定标签,例如

"private-repo": "git+ssh://git@github.com:myaccount/myprivate.git#v1.0.1"

不起作用(master分支没有标记的提交。只有develop分支有它。 I got a fatal: ambiguous argument 'v1.0.1': unknown revision or path not in the working tree.让我想到它试图在没有它的分支中找到指定的标记(必须是master分支,因为我只有这两个分支)。

那么,有没有办法指定要更新的分支和git-tag?

1 个答案:

答案 0 :(得分:0)

分支和标签之间没有任何直接链接。在某种程度上,标签只是提交时不会移动的分支。

您应该能够签出(或npm安装)您引用的任何分支或任何标签(或任何提交引用)。

v1.0.1似乎不是存储库中的标记(不是分支)(不是分支)。如果要选择正确的版本的 semver ,则必须在其前面加上semver:

查看有关package dependencies的npm官方文档。它说明了使用git仓库作为包源的所有方法:

<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
git+ssh://git@github.com:npm/cli.git#v1.0.27
git+ssh://git@github.com:npm/cli#semver:^5.0
git+https://isaacs@github.com/npm/cli.git
git://github.com/npm/cli.git#v1.0.27
相关问题