关注examples from the official npm docs:
git+ssh://git@github.com:npm/npm.git#v1.0.27 git+ssh://git@github.com:npm/npm#semver:^5.0 git+https://isaacs@github.com/npm/npm.git git://github.com/npm/npm.git#v1.0.27
我尝试使用semver范围从私有GitLab存储库npm install
获取依赖关系,如下所示:
git+ssh://git@gitlab.example.com:group/project.git#semver:^1.2.3
但我收到以下错误:
npm ERR! code 1 npm ERR! Command failed: /usr/bin/git checkout semver:^1.2.3 npm ERR! error: pathspec 'semver:^1.2.3' did not match any file(s) known to git. npm ERR! npm ERR! A complete log of this run can be found in: npm ERR! /path/to/DATE-debug.log
即使指定分支或特定标记工作正常:
git+ssh://git@gitlab.example.com:group/project.git#branch_1_2 git+ssh://git@gitlab.example.com:group/project.git#1.2.3
版本信息:
答案 0 :(得分:1)
这是一个错误
替换主机和&之间的冒号。网址的路径部分:
git+ssh://git@gitlab.example.com/group/project.git#semver:^1.2.3 don't use a colon here ^
<强>信息强>
根据official npm docs,您应该可以使用冒号或斜杠:
<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
但是GitLab [un]为您提供了一个复制/粘贴冒号的链接。
如此npm github issue中所述:
似乎早在5.1.x就破坏了。它在使用
时有效npm i -g npm@~5.0.0
正如引用的npm github pull request中所提到的,该错误现在已经修复,但从v5.6.0开始还不是npm的一部分